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

Commit eef76f16 authored by Raghava Aditya Renukunta's avatar Raghava Aditya Renukunta Committed by Martin K. Petersen
Browse files

aacraid: Remove code to needlessly complete fib



Currently driver completes double completed or spurious interrupted fibs.
This  is not necessary and causes the SCSI mid layer to issue aborts and
resets, since completing a fib  prematurely might trigger a race condition
resulting in the driver not calling the scsi_done callback.

Fixed by removing the call to fib complete.

Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 9cb62fa2
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -392,9 +392,10 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 index,
			if (likely(fib->callback && fib->callback_data)) {
			if (likely(fib->callback && fib->callback_data)) {
				fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
				fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
				fib->callback(fib->callback_data, fib);
				fib->callback(fib->callback_data, fib);
			} else {
			} else
				aac_fib_complete(fib);
				dev_info(&dev->pdev->dev,
			}
				"Invalid callback_fib[%d] (*%p)(%p)\n",
				index, fib->callback, fib->callback_data);
		} else {
		} else {
			unsigned long flagv;
			unsigned long flagv;
	  		dprintk((KERN_INFO "event_wait up\n"));
	  		dprintk((KERN_INFO "event_wait up\n"));