diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_transport.c')
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_transport.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_transport.c b/drivers/scsi/mpt2sas/mpt2sas_transport.c index 8030bc2774c8..3a82872bad44 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_transport.c +++ b/drivers/scsi/mpt2sas/mpt2sas_transport.c | |||
@@ -258,8 +258,7 @@ struct rep_manu_reply{ | |||
258 | u8 response_length; | 258 | u8 response_length; |
259 | u16 expander_change_count; | 259 | u16 expander_change_count; |
260 | u8 reserved0[2]; | 260 | u8 reserved0[2]; |
261 | u8 sas_format:1; | 261 | u8 sas_format; |
262 | u8 reserved1:7; | ||
263 | u8 reserved2[3]; | 262 | u8 reserved2[3]; |
264 | u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN]; | 263 | u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN]; |
265 | u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN]; | 264 | u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN]; |
@@ -374,7 +373,8 @@ _transport_expander_report_manufacture(struct MPT2SAS_ADAPTER *ioc, | |||
374 | mpi_request->VP_ID = 0; | 373 | mpi_request->VP_ID = 0; |
375 | sas_address_le = (u64 *)&mpi_request->SASAddress; | 374 | sas_address_le = (u64 *)&mpi_request->SASAddress; |
376 | *sas_address_le = cpu_to_le64(sas_address); | 375 | *sas_address_le = cpu_to_le64(sas_address); |
377 | mpi_request->RequestDataLength = sizeof(struct rep_manu_request); | 376 | mpi_request->RequestDataLength = |
377 | cpu_to_le16(sizeof(struct rep_manu_request)); | ||
378 | psge = &mpi_request->SGL; | 378 | psge = &mpi_request->SGL; |
379 | 379 | ||
380 | /* WRITE sgel first */ | 380 | /* WRITE sgel first */ |
@@ -437,8 +437,8 @@ _transport_expander_report_manufacture(struct MPT2SAS_ADAPTER *ioc, | |||
437 | SAS_EXPANDER_PRODUCT_ID_LEN); | 437 | SAS_EXPANDER_PRODUCT_ID_LEN); |
438 | strncpy(edev->product_rev, manufacture_reply->product_rev, | 438 | strncpy(edev->product_rev, manufacture_reply->product_rev, |
439 | SAS_EXPANDER_PRODUCT_REV_LEN); | 439 | SAS_EXPANDER_PRODUCT_REV_LEN); |
440 | edev->level = manufacture_reply->sas_format; | 440 | edev->level = manufacture_reply->sas_format & 1; |
441 | if (manufacture_reply->sas_format) { | 441 | if (edev->level) { |
442 | strncpy(edev->component_vendor_id, | 442 | strncpy(edev->component_vendor_id, |
443 | manufacture_reply->component_vendor_id, | 443 | manufacture_reply->component_vendor_id, |
444 | SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN); | 444 | SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN); |
@@ -1116,7 +1116,7 @@ _transport_smp_handler(struct Scsi_Host *shost, struct sas_rphy *rphy, | |||
1116 | dma_addr_out = pci_map_single(ioc->pdev, bio_data(req->bio), | 1116 | dma_addr_out = pci_map_single(ioc->pdev, bio_data(req->bio), |
1117 | blk_rq_bytes(req), PCI_DMA_BIDIRECTIONAL); | 1117 | blk_rq_bytes(req), PCI_DMA_BIDIRECTIONAL); |
1118 | if (!dma_addr_out) { | 1118 | if (!dma_addr_out) { |
1119 | mpt2sas_base_free_smid(ioc, le16_to_cpu(smid)); | 1119 | mpt2sas_base_free_smid(ioc, smid); |
1120 | goto unmap; | 1120 | goto unmap; |
1121 | } | 1121 | } |
1122 | 1122 | ||
@@ -1134,7 +1134,7 @@ _transport_smp_handler(struct Scsi_Host *shost, struct sas_rphy *rphy, | |||
1134 | dma_addr_in = pci_map_single(ioc->pdev, bio_data(rsp->bio), | 1134 | dma_addr_in = pci_map_single(ioc->pdev, bio_data(rsp->bio), |
1135 | blk_rq_bytes(rsp), PCI_DMA_BIDIRECTIONAL); | 1135 | blk_rq_bytes(rsp), PCI_DMA_BIDIRECTIONAL); |
1136 | if (!dma_addr_in) { | 1136 | if (!dma_addr_in) { |
1137 | mpt2sas_base_free_smid(ioc, le16_to_cpu(smid)); | 1137 | mpt2sas_base_free_smid(ioc, smid); |
1138 | goto unmap; | 1138 | goto unmap; |
1139 | } | 1139 | } |
1140 | 1140 | ||