scsi: scsi_transport_sas: switch to bsg-lib for SMP passthrough
authorChristoph Hellwig <hch@lst.de>
Fri, 25 Aug 2017 15:37:41 +0000 (17:37 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 30 Aug 2017 01:51:45 +0000 (21:51 -0400)
commit651a013649943710a900551ec6e03d2084e1a65a
tree14a92a3104c919eb439970de5471643b6f915ffc
parenteaa79a6cd733e1f978613a5fcf5f7c1cdb38eb2a
scsi: scsi_transport_sas: switch to bsg-lib for SMP passthrough

Simplify the SMP passthrough code by switching it to the generic bsg-lib
helpers that abstract away the details of the request code, and gets
drivers out of seeing struct scsi_request.

For the libsas host SMP code there is a small behavior difference in
that we now always clear the residual len for successful commands,
similar to the three other SMP handler implementations.  Given that
there is no partial command handling in the host SMP handler this should
not matter in practice.

[mkp: typos and checkpatch fixes]

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/message/fusion/mptsas.c
drivers/scsi/libsas/Kconfig
drivers/scsi/libsas/sas_expander.c
drivers/scsi/libsas/sas_host_smp.c
drivers/scsi/libsas/sas_internal.h
drivers/scsi/mpt3sas/mpt3sas_transport.c
drivers/scsi/scsi_transport_sas.c
include/scsi/libsas.h
include/scsi/scsi_transport_sas.h