Skip to content

Commit eef76f1

Browse files
Raghava Aditya Renukuntamartinkpetersen
authored andcommitted
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: Raghava Aditya Renukunta <[email protected]> Reviewed-by: Johannes Thumshirn <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 9cb62fa commit eef76f1

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

drivers/scsi/aacraid/dpcsup.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -392,9 +392,10 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 index,
392392
if (likely(fib->callback && fib->callback_data)) {
393393
fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
394394
fib->callback(fib->callback_data, fib);
395-
} else {
396-
aac_fib_complete(fib);
397-
}
395+
} else
396+
dev_info(&dev->pdev->dev,
397+
"Invalid callback_fib[%d] (*%p)(%p)\n",
398+
index, fib->callback, fib->callback_data);
398399
} else {
399400
unsigned long flagv;
400401
dprintk((KERN_INFO "event_wait up\n"));

0 commit comments

Comments
 (0)