qla3xxx: Kernic Panic on pSeries under stress conditions
authorBenjamin Li <benjamin.li@qlogic.com>
Mon, 26 Feb 2007 19:06:42 +0000 (11:06 -0800)
committerJeff Garzik <jeff@garzik.org>
Tue, 27 Feb 2007 09:21:45 +0000 (04:21 -0500)
commite8f4df2491d07fc369e9d631e0638da03a9b3a38
treedc4b183711b05b7717e36cf5fb2c5b915b357c45
parent63b66d12de57d8455615d9f619e18824137ed547
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>
drivers/net/qla3xxx.c
drivers/net/qla3xxx.h