driver_nl80211: Fixed inactivity poll status processing
authorJouni Malinen <jouni.malinen@atheros.com>
Tue, 27 Jan 2009 14:34:48 +0000 (16:34 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 27 Jan 2009 14:34:48 +0000 (16:34 +0200)
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.

hostapd/driver_nl80211.c

index 4313c0a..f6c4fc6 100644 (file)
@@ -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;