Commit 76621789 authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Christoph Hellwig

[PATCH] tmscsim: kernel bugzilla bug #2139

> Short: The attached patch fixes the bug-report #2139 from kernel bugzilla.

I wasn't quite convenient with the previous version of the patch, but I
just wanted to get it working at first and get some comments as to whether
the approach (put a workaround vs. blacklisting) is at all valid. Since no
objections arrived, I guess, nobody minds this small trick. So, I am
enclosing a reworked patch, which does essentially the same, but has some
more careful checking, and overall looks saner, than the previous one.
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 45efeb52
......@@ -890,14 +890,22 @@ dc390_DataIO_Comm( struct dc390_acb* pACB, struct dc390_srb* pSRB, u8 ioDir)
if (pSRB == pACB->pTmpSRB)
{
if (pDCB) printk (KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (%02i-%i)\n",
pDCB->TargetID, pDCB->TargetLUN);
else printk (KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (DCB 0!)\n");
pSRB->pSRBDCB = pDCB;
dc390_EnableMsgOut_Abort (pACB, pSRB);
if (pDCB) pDCB->DCBFlag |= ABORT_DEV;
return;
if (pDCB)
printk(KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (%02i-%i)\n", pDCB->TargetID, pDCB->TargetLUN);
else
printk(KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (DCB 0!)\n");
/* Try to recover - some broken disks react badly to tagged INQUIRY */
if (pDCB && pACB->scan_devices && pDCB->GoingSRBCnt == 1) {
pSRB = pDCB->pGoingSRB;
pDCB->pActiveSRB = pSRB;
} else {
pSRB->pSRBDCB = pDCB;
dc390_EnableMsgOut_Abort(pACB, pSRB);
if (pDCB)
pDCB->DCBFlag |= ABORT_DEV;
return;
}
}
if( pSRB->SGIndex < pSRB->SGcount )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment