diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2007-10-01 14:43:23 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-02 12:55:10 -0400 |
commit | 50626297b1beb0a29c0f174be39f36485533216c (patch) | |
tree | 2d356ef62c9bd59d8c8fd61b7248661511a8fcb8 | |
parent | b323e0e49fe9331ee3a7a336af879d6e303b16b3 (diff) |
qla3xxx: bugfix: Fix VLAN rx completion handling.
Fix 4032 chip undocumented "feature" where bit-8 is set
if the inbound completion is for a VLAN.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rwxr-xr-x | drivers/net/qla3xxx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c index c3fe1c7c301c..ea151315050c 100755 --- a/drivers/net/qla3xxx.c +++ b/drivers/net/qla3xxx.c | |||
@@ -2249,6 +2249,12 @@ static int ql_tx_rx_clean(struct ql3_adapter *qdev, | |||
2249 | 2249 | ||
2250 | net_rsp = qdev->rsp_current; | 2250 | net_rsp = qdev->rsp_current; |
2251 | rmb(); | 2251 | rmb(); |
2252 | /* | ||
2253 | * Fix 4032 chipe undocumented "feature" where bit-8 is set if the | ||
2254 | * inbound completion is for a VLAN. | ||
2255 | */ | ||
2256 | if (qdev->device_id == QL3032_DEVICE_ID) | ||
2257 | net_rsp->opcode &= 0x7f; | ||
2252 | switch (net_rsp->opcode) { | 2258 | switch (net_rsp->opcode) { |
2253 | 2259 | ||
2254 | case OPCODE_OB_MAC_IOCB_FN0: | 2260 | case OPCODE_OB_MAC_IOCB_FN0: |