[SCSI] QLOGICPTI: Do not unmap DMA unless we actually mapped something.
authorDavid S. Miller <davem@sunset.davemloft.net>
Sat, 14 Apr 2007 17:29:10 +0000 (10:29 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sat, 14 Apr 2007 17:29:10 +0000 (10:29 -0700)
We only map DMA when cmd->request_bufflen is non-zero for non-sg
buffers, we thus should make the same check when unmapping.

Based upon a report from Pasi Pirhonen.

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/scsi/qlogicpti.c

index 9b827ceec50125734cd6ef3cafebb6f87949d4fe..9f10689905a8d68c3eb7be4b00561c52f7f6ac23 100644 (file)
@@ -1281,7 +1281,7 @@ static struct scsi_cmnd *qlogicpti_intr_handler(struct qlogicpti *qpti)
                                      (struct scatterlist *)Cmnd->request_buffer,
                                      Cmnd->use_sg,
                                      Cmnd->sc_data_direction);
-               } else {
+               } else if (Cmnd->request_bufflen) {
                        sbus_unmap_single(qpti->sdev,
                                          (__u32)((unsigned long)Cmnd->SCp.ptr),
                                          Cmnd->request_bufflen,