[SCSI] ips: fix soft lockup during reset initialization
Resetting the adapter causes the ServeRAID driver to exceed the max time allowed by the softlock watchdog. Resetting the hardware can easily require 30 or more seconds. To avoid the "BUG: soft lockup detected on CPU#0!" result, this patch adds a touch_nmi_watchdog() to the driver's MDELAY macro. Cc: Nishanth Aravamudan <nacc@us.ibm.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Acked-by: Jack Hammer <jack_hammer@adaptec.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
e5f82ab834
commit
297295ae66
|
@ -51,6 +51,7 @@
|
||||||
#define _IPS_H_
|
#define _IPS_H_
|
||||||
|
|
||||||
#include <linux/version.h>
|
#include <linux/version.h>
|
||||||
|
#include <linux/nmi.h>
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
|
||||||
|
@ -116,9 +117,11 @@
|
||||||
dev_printk(level , &((pcidev)->dev) , format , ## arg)
|
dev_printk(level , &((pcidev)->dev) , format , ## arg)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MDELAY
|
#define MDELAY(n) \
|
||||||
#define MDELAY mdelay
|
do { \
|
||||||
#endif
|
mdelay(n); \
|
||||||
|
touch_nmi_watchdog(); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#ifndef min
|
#ifndef min
|
||||||
#define min(x,y) ((x) < (y) ? x : y)
|
#define min(x,y) ((x) < (y) ? x : y)
|
||||||
|
|
Loading…
Reference in New Issue