Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e4c91c8 authored by Jens Axboe's avatar Jens Axboe
Browse files

cciss: shorten 30s timeout on controller reset



If reset_devices is set for kexec, then cciss will delay 30 seconds
since the old 5i controller _may_ need that long to recover. Replace
the long sleep with incremental sleep and tests to reduce the 30 seconds
to worst case for 5i, so that other controllers will proceed quickly.

Reviewed-by: default avatarMike Miller <mike.miller@hp.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 9e8c0bcc
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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;
		}
	}