Browse Source

driver_nl80211: Fixed inactivity poll status processing

Previous version was discarding TX status for FromDS data frames, but
those are the exact ones that we need to check for inactivity poll to
work, i.e., they are TX status reports for injected data frames.

In addition, remove the debug printing of TX status for data frame since
that could fill up the debug output if kernel-side filtering cannot be
used with monitor interface.
Jouni Malinen 16 years ago
parent
commit
f01a6b1e3e
1 changed files with 3 additions and 2 deletions
  1. 3 2
      hostapd/driver_nl80211.c

+ 3 - 2
hostapd/driver_nl80211.c

@@ -1652,8 +1652,6 @@ static void handle_tx_callback(struct hostapd_data *hapd, u8 *buf, size_t len,
 			   ok ? "ACK" : "fail");
 		break;
 	case WLAN_FC_TYPE_DATA:
-		wpa_printf(MSG_DEBUG, "DATA (TX callback) %s",
-			   ok ? "ACK" : "fail");
 		hostapd_tx_status(hapd, hdr->addr1, buf, len, ok);
 		break;
 	default:
@@ -1697,6 +1695,9 @@ static void handle_frame(struct i802_driver_data *drv,
 		case WLAN_FC_TODS:
 			bssid = hdr->addr1;
 			break;
+		case WLAN_FC_FROMDS:
+			bssid = hdr->addr2;
+			break;
 		default:
 			/* discard */
 			return;