Browse Source

[SCSI] ibmvscsi: correctly reenable CRQ

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>
Santiago Leon 18 years ago
parent
commit
9c3121feef
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/scsi/ibmvscsi/ibmvscsi.c

+ 1 - 1
drivers/scsi/ibmvscsi/ibmvscsi.c

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