diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2500pci.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2500pci.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c index c06f1b5e5887..aa195dab1554 100644 --- a/drivers/net/wireless/rt2x00/rt2500pci.c +++ b/drivers/net/wireless/rt2x00/rt2500pci.c | |||
@@ -1292,7 +1292,18 @@ static void rt2500pci_txdone(struct rt2x00_dev *rt2x00dev, | |||
1292 | /* | 1292 | /* |
1293 | * Obtain the status about this packet. | 1293 | * Obtain the status about this packet. |
1294 | */ | 1294 | */ |
1295 | txdesc.status = rt2x00_get_field32(word, TXD_W0_RESULT); | 1295 | txdesc.flags = 0; |
1296 | switch (rt2x00_get_field32(word, TXD_W0_RESULT)) { | ||
1297 | case 0: /* Success */ | ||
1298 | case 1: /* Success with retry */ | ||
1299 | __set_bit(TXDONE_SUCCESS, &txdesc.flags); | ||
1300 | break; | ||
1301 | case 2: /* Failure, excessive retries */ | ||
1302 | __set_bit(TXDONE_EXCESSIVE_RETRY, &txdesc.flags); | ||
1303 | /* Don't break, this is a failed frame! */ | ||
1304 | default: /* Failure */ | ||
1305 | __set_bit(TXDONE_FAILURE, &txdesc.flags); | ||
1306 | } | ||
1296 | txdesc.retry = rt2x00_get_field32(word, TXD_W0_RETRY_COUNT); | 1307 | txdesc.retry = rt2x00_get_field32(word, TXD_W0_RETRY_COUNT); |
1297 | 1308 | ||
1298 | rt2x00pci_txdone(rt2x00dev, entry, &txdesc); | 1309 | rt2x00pci_txdone(rt2x00dev, entry, &txdesc); |