summaryrefslogtreecommitdiffstats
path: root/drivers/net/qla3xxx.h
diff options
context:
space:
mode:
authorBenjamin Li <benjamin.li@qlogic.com>2007-02-26 11:06:42 -0800
committerJeff Garzik <jeff@garzik.org>2007-02-27 04:21:45 -0500
commite8f4df2491d07fc369e9d631e0638da03a9b3a38 (patch)
treedc4b183711b05b7717e36cf5fb2c5b915b357c45 /drivers/net/qla3xxx.h
parent63b66d12de57d8455615d9f619e18824137ed547 (diff)
downloadlinux-e8f4df2491d07fc369e9d631e0638da03a9b3a38.tar.gz
linux-e8f4df2491d07fc369e9d631e0638da03a9b3a38.tar.bz2
linux-e8f4df2491d07fc369e9d631e0638da03a9b3a38.zip
qla3xxx: Kernic Panic on pSeries under stress conditions
To reproduce this panic consistently, we run an intensive network application like 'netperf'. After waiting for a couple of seconds, you will see a stack trace and a kernel panic where we are calling pci_unmap_single() in ql_poll(). Changes: 1) Check the flags on the Response MAC IO Control block to check for errors 2) Ensure that if we are on the 4022 we only use one segment 3) Before, we were reading the memory mapped producer index register everytime we iterated in the loop when clearing the queue. We should only be iterating to a known point, not as the producer index is being updated. Signed-off-by: Benjamin Li <benjamin.li@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/qla3xxx.h')
-rwxr-xr-xdrivers/net/qla3xxx.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/qla3xxx.h b/drivers/net/qla3xxx.h
index 40913d2c7097..34cd6580fd07 100755
--- a/drivers/net/qla3xxx.h
+++ b/drivers/net/qla3xxx.h
@@ -1194,7 +1194,7 @@ struct ql3_adapter {
struct net_rsp_iocb *rsp_current;
u16 rsp_consumer_index;
u16 reserved_06;
- u32 *prsp_producer_index;
+ volatile u32 *prsp_producer_index;
u32 rsp_producer_index_phy_addr_high;
u32 rsp_producer_index_phy_addr_low;