[drivers rtl8180] Only report TX status once per packet
authorJoshua Oreman <oremanj@xenon.get-linux.org>
Thu, 18 Jun 2009 00:49:21 +0000 (17:49 -0700)
committerJoshua Oreman <oremanj@xenon.get-linux.org>
Thu, 18 Jun 2009 00:49:21 +0000 (17:49 -0700)
A missing check in the TX status-reporting code caused the whole
TX ring to be reported complete every time a packet was transmitted,
with NULL io_buffers passed to net80211_tx_complete() for the spurious
entries.

src/drivers/net/rtl818x/rtl8180.c

index d97cafd..7910df6 100644 (file)
@@ -123,7 +123,7 @@ static void rtl8180_handle_tx(struct net80211_device *dev)
                u32 flags = le32_to_cpu(entry->flags);
                int rc;
 
-               if (flags & RTL818X_TX_DESC_FLAG_OWN)
+               if ((flags & RTL818X_TX_DESC_FLAG_OWN) || !iob)
                        return;
 
                rc = 0;