aboutsummaryrefslogtreecommitdiff
path: root/drivers/block/cciss.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-02-26 10:36:35 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2009-02-26 10:36:35 -0800
commitbabb29b0a33db53704594f63f271ca6c049eddc6 (patch)
tree6d03412fc9315dd1bd221ee1ab4e5f67768a9904 /drivers/block/cciss.c
parent6fc79d40d30b1595261607a155f039fb7b2d5606 (diff)
parent9e973e64ac6dc504e6447d52193d4fff1a670156 (diff)
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: xen/blkfront: use blk_rq_map_sg to generate ring entries block: reduce stack footprint of blk_recount_segments() cciss: shorten 30s timeout on controller reset block: add documentation for register_blkdev() block: fix bogus gcc warning for uninitialized var usage
Diffstat (limited to 'drivers/block/cciss.c')
-rw-r--r--drivers/block/cciss.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index d2cb67b6117..b5a06111463 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -3611,11 +3611,15 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
schedule_timeout_uninterruptible(30*HZ);
/* Now try to get the controller to respond to a no-op */
- for (i=0; i<12; i++) {
+ for (i=0; i<30; i++) {
if (cciss_noop(pdev) == 0)
break;
- else
- printk("cciss: no-op failed%s\n", (i < 11 ? "; re-trying" : ""));
+
+ schedule_timeout_uninterruptible(HZ);
+ }
+ if (i == 30) {
+ printk(KERN_ERR "cciss: controller seems dead\n");
+ return -EBUSY;
}
}