[SCSI] ibmvscsi: Fix softlockup on resume
authorBrian King <brking@linux.vnet.ibm.com>
Thu, 17 Jun 2010 18:56:00 +0000 (13:56 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 27 Jul 2010 17:03:46 +0000 (12:03 -0500)
commit0f33ece5bc3d5a9567b65cfbc736e8f206ecfc7b
tree4b271d2c1373e1882ecffa8f4baf247a9f578c15
parent06395193b20124663b83b2894da827aec7e9d920
[SCSI] ibmvscsi: Fix softlockup on resume

This fixes a softlockup seen on resume. During resume, the CRQ
must be reenabled. However, the H_ENABLE_CRQ hcall used to do
this may return H_BUSY or H_LONG_BUSY. When this happens, the
caller is expected to retry later. This patch changes a simple
loop, which was causing the softlockup, to a loop at task level
which sleeps between retries rather than simply spinning.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/ibmvscsi/ibmvscsi.c
drivers/scsi/ibmvscsi/ibmvscsi.h
drivers/scsi/ibmvscsi/rpa_vscsi.c