Re: [PATCH 15/20] [SCSI] mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command

2015-06-19 Thread Martin K. Petersen
 Sreekanth Reddy sreekanth.re...@avagotech.com writes:

 scsi_dma_map API will return a negative value (i.e. -ENOMEM) if DMA
 mapping of sg lists fails and zero if the sg list in the SCSI cmd is
 NULL. But drivers doesn't handled sg list DMA mapping failure case
 properly.

Reviewed-by: Martin K. Petersen martin.peter...@oracle.com

-- 
Martin K. Petersen  Oracle Linux Engineering
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in


Re: [PATCH 15/20] [SCSI] mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command

2015-06-15 Thread Johannes Thumshirn
On Fri, Jun 12, 2015 at 03:12:27PM +0530, Sreekanth Reddy wrote:
 scsi_dma_map API will return a negative value (i.e. -ENOMEM)
 if DMA mapping of sg lists fails and zero if the sg list in the
 SCSI cmd is NULL. But drivers doesn't handled sg list DMA mapping
 failure case properly.
 
 So, Updated the code to return host busy error status to SCSI MID Layer(SML),
 when DMA mapping of scatter gather list fails for a SCSI command.
 So that SML will retry this SCSI cmd after some time.
 
 Signed-off-by: Sreekanth Reddy sreekanth.re...@avagotech.com
 ---
  drivers/scsi/mpt3sas/mpt3sas_base.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c 
 b/drivers/scsi/mpt3sas/mpt3sas_base.c
 index 267e489..0b26c8d 100644
 --- a/drivers/scsi/mpt3sas/mpt3sas_base.c
 +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
 @@ -1345,7 +1345,7 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc,
  
   sg_scmd = scsi_sglist(scmd);
   sges_left = scsi_dma_map(scmd);
 - if (!sges_left) {
 + if (!sges_left  0) {
   sdev_printk(KERN_ERR, scmd-device,
   pci_map_sg failed: request for %d bytes!\n,
   scsi_bufflen(scmd));
 @@ -1414,7 +1414,7 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc,
   fill_in_last_segment:
  
   /* fill the last segment */
 - while (sges_left) {
 + while (sges_left  0) {
   if (sges_left == 1)
   _base_add_sg_single_ieee(sg_local,
   simple_sgl_flags_last, 0, sg_dma_len(sg_scmd),
 -- 
 2.0.2
 
 --
 To unsubscribe from this list: send the line unsubscribe linux-scsi in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reviewed-by: Johannes Thumshirn jthumsh...@suse.de

-- 
Johannes Thumshirn   Storage
jthumsh...@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 15/20] [SCSI] mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command

2015-06-12 Thread Sreekanth Reddy
scsi_dma_map API will return a negative value (i.e. -ENOMEM)
if DMA mapping of sg lists fails and zero if the sg list in the
SCSI cmd is NULL. But drivers doesn't handled sg list DMA mapping
failure case properly.

So, Updated the code to return host busy error status to SCSI MID Layer(SML),
when DMA mapping of scatter gather list fails for a SCSI command.
So that SML will retry this SCSI cmd after some time.

Signed-off-by: Sreekanth Reddy sreekanth.re...@avagotech.com
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c 
b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 267e489..0b26c8d 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -1345,7 +1345,7 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc,
 
sg_scmd = scsi_sglist(scmd);
sges_left = scsi_dma_map(scmd);
-   if (!sges_left) {
+   if (!sges_left  0) {
sdev_printk(KERN_ERR, scmd-device,
pci_map_sg failed: request for %d bytes!\n,
scsi_bufflen(scmd));
@@ -1414,7 +1414,7 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc,
  fill_in_last_segment:
 
/* fill the last segment */
-   while (sges_left) {
+   while (sges_left  0) {
if (sges_left == 1)
_base_add_sg_single_ieee(sg_local,
simple_sgl_flags_last, 0, sg_dma_len(sg_scmd),
-- 
2.0.2

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 15/20] [SCSI] mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command

2015-03-30 Thread Sreekanth Reddy
scsi_dma_map API will return a negative value (i.e. -ENOMEM) if DMA mapping of 
sg lists fails and zero if the sg list in the SCSI cmd is NULL. But drivers 
doesn't handled sg list DMA mapping failure case properly.

So, Updated the code to return host busy error status to SCSI MID Layer (SML), 
when DMA mapping of scatter gather list fails for a SCSI command. So that SML 
will retry this SCSI cmd after some time.

Signed-off-by: Sreekanth Reddy sreekanth.re...@avagotech.com
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c 
b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 267e489..0b26c8d 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -1345,7 +1345,7 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc,
 
sg_scmd = scsi_sglist(scmd);
sges_left = scsi_dma_map(scmd);
-   if (!sges_left) {
+   if (!sges_left  0) {
sdev_printk(KERN_ERR, scmd-device,
pci_map_sg failed: request for %d bytes!\n,
scsi_bufflen(scmd));
@@ -1414,7 +1414,7 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc,
  fill_in_last_segment:
 
/* fill the last segment */
-   while (sges_left) {
+   while (sges_left  0) {
if (sges_left == 1)
_base_add_sg_single_ieee(sg_local,
simple_sgl_flags_last, 0, sg_dma_len(sg_scmd),
-- 
2.0.2

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html