On Mon, Apr 25, 2016 at 11:32:26PM -0700, Raghava Aditya Renukunta wrote: > 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 <RaghavaAditya.Renukunta@xxxxxxxxxxxxx> > --- > drivers/scsi/aacraid/dpcsup.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c > index d677b52..7e83620 100644 > --- a/drivers/scsi/aacraid/dpcsup.c > +++ b/drivers/scsi/aacraid/dpcsup.c > @@ -392,9 +392,10 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 index, > if (likely(fib->callback && fib->callback_data)) { > fib->flags &= FIB_CONTEXT_FLAG_FASTRESP; > fib->callback(fib->callback_data, fib); > - } else { > - aac_fib_complete(fib); > - } > + } else > + dev_info(&dev->pdev->dev, > + "Invalid callback_fib[%d] (*%p)(%p)\n", > + index, fib->callback, fib->callback_data); I'm not sure INFO is the right logging level for this. WARN or ERROR might be more suited. > } else { > unsigned long flagv; > dprintk((KERN_INFO "event_wait up\n")); > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Johannes Thumshirn Storage jthumshirn@xxxxxxx +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html