[SCSI] libsas: fix usage of ata_tf_to_fis
authorDan Williams <dan.j.williams@intel.com>
Wed, 23 Oct 2013 01:35:19 +0000 (18:35 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 27 Nov 2013 07:01:07 +0000 (11:01 +0400)
commitae5fbae0ccd982dfca0ce363036ed92f5b13f150
tree53dbca1b30f77fa7d0e6bbc7fb42ea280a04ae52
parent2e7babfa892a55588467ef03b545002e32f31528
[SCSI] libsas: fix usage of ata_tf_to_fis

Since commit 110dd8f19df5 "[SCSI] libsas: fix scr_read/write users and
update the libata documentation" we have been passing pmp=1 and is_cmd=0
to ata_tf_to_fis().  Praveen reports that eSATA attached drives do not
discover correctly.  His investigation found that the BIOS was passing
pmp=0 while Linux was passing pmp=1 and failing to discover the drives.
Update libsas to follow the libata example of pulling the pmp setting
from the ata_link and correct is_cmd to be 1 since all tf's submitted
through ->qc_issue are commands.  Presumably libsas lldds do not care
about is_cmd as they have sideband mechanisms to perform link
management.

http://marc.info/?l=linux-scsi&m=138179681726990

[jejb: checkpatch fix]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reported-by: Praveen Murali <pmurali@logicube.com>
Tested-by: Praveen Murali <pmurali@logicube.com>
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/libsas/sas_ata.c