[SCSI] lpfc: Fix for "Unknown IOCB command Data: x0 x3 x0 x0"
Fix for "Unknown IOCB command Data: x0 x3 x0 x0" messages and inability to see devices On some platforms, the host-memory based ring mgmt area was not zero. Also, driver wasn't manipulating the entire 32bits of the ring pointers. Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:

committed by
James Bottomley

parent
09703d38d4
commit
f91b392c4d
@@ -335,7 +335,7 @@ lpfc_sli_submit_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
|
||||
* driver will put a command into.
|
||||
*/
|
||||
pring->cmdidx = pring->next_cmdidx;
|
||||
writeb(pring->cmdidx, phba->MBslimaddr
|
||||
writel(pring->cmdidx, phba->MBslimaddr
|
||||
+ (SLIMOFF + (pring->ringno * 2)) * 4);
|
||||
}
|
||||
|
||||
@@ -1033,7 +1033,7 @@ lpfc_sli_handle_fast_ring_event(struct lpfc_hba * phba,
|
||||
|
||||
to_slim = phba->MBslimaddr +
|
||||
(SLIMOFF + (pring->ringno * 2) + 1) * 4;
|
||||
writeb(pring->rspidx, to_slim);
|
||||
writel(pring->rspidx, to_slim);
|
||||
|
||||
if (pring->rspidx == portRspPut)
|
||||
portRspPut = le32_to_cpu(pgp->rspPutInx);
|
||||
@@ -1147,7 +1147,7 @@ lpfc_sli_handle_slow_ring_event(struct lpfc_hba * phba,
|
||||
|
||||
to_slim = phba->MBslimaddr + (SLIMOFF + (pring->ringno * 2)
|
||||
+ 1) * 4;
|
||||
writeb(pring->rspidx, to_slim);
|
||||
writel(pring->rspidx, to_slim);
|
||||
|
||||
if (list_empty(&(pring->iocb_continueq))) {
|
||||
list_add(&rspiocbp->list, &(pring->iocb_continueq));
|
||||
|
Reference in New Issue
Block a user