[SCSI] ibmvscsi: correctly reenable CRQ
authorSantiago Leon <santil@us.ibm.com>
Fri, 13 Oct 2006 15:22:50 +0000 (10:22 -0500)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Wed, 25 Oct 2006 22:13:17 +0000 (15:13 -0700)
The "ibmvscsi: treat busy and error conditions separately" patch
submitted by Dave Boutcher back in June incorrectly reenables the CRQ.
The broken logic causes the adapter to get disabled if the CRQ
connection happens to close temporarily.  This patch "fixes that
obviously wrong logic check" (Dave's words).

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: David Boutcher <sleddog@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/ibmvscsi/ibmvscsi.c

index 669ea4fff166096496f7f998cfb83448f80be985..fbc1d5c3b0a793a9800a326c35d293a4368e9979 100644 (file)
@@ -1213,7 +1213,7 @@ void ibmvscsi_handle_crq(struct viosrp_crq *crq,
                               "ibmvscsi: Re-enabling adapter!\n");
                        purge_requests(hostdata, DID_REQUEUE);
                        if ((ibmvscsi_reenable_crq_queue(&hostdata->queue,
-                                                       hostdata) == 0) ||
+                                                       hostdata)) ||
                            (ibmvscsi_send_crq(hostdata,
                                               0xC001000000000000LL, 0))) {
                                        atomic_set(&hostdata->request_limit,