summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/sas.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-06-17 01:59:56 +0200
committerDan Williams <dan.j.williams@intel.com>2011-07-03 13:04:51 +0200
commite9bf709564e90abea25ca7aeae8c3de5cc6468d7 (patch)
treee4569a311fd0181109ad7b265425a74af2a41553 /drivers/scsi/isci/sas.h
parentisci: fix dma_unmap_sg usage (diff)
downloadlinux-e9bf709564e90abea25ca7aeae8c3de5cc6468d7.tar.xz
linux-e9bf709564e90abea25ca7aeae8c3de5cc6468d7.zip
isci: fix support for arbitrarily large smp requests
Instead of duplicating the smp request buffer reuse the one provided by libsas. This future proofs the driver to support arbitrarily large smp requests, and shrinks the request structure size by ~700 bytes. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/sas.h')
-rw-r--r--drivers/scsi/isci/sas.h11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/scsi/isci/sas.h b/drivers/scsi/isci/sas.h
index 822a8dbd19ca..462b15174d3f 100644
--- a/drivers/scsi/isci/sas.h
+++ b/drivers/scsi/isci/sas.h
@@ -190,8 +190,6 @@ struct smp_req_phycntl {
u8 _r_h[3]; /* bytes 37-39 */
} __packed;
-#define SMP_REQ_VENDOR_SPECIFIC_MAX_LEN 1016
-
/*
* struct smp_req - This structure simply unionizes the existing request
* structures into a common request type.
@@ -203,14 +201,7 @@ struct smp_req {
u8 func; /* byte 1 */
u8 alloc_resp_len; /* byte 2 */
u8 req_len; /* byte 3 */
-
- union { /* bytes 4-N */
- u32 smp_req_gen;
- struct smp_req_phy_id phy_id;
- struct smp_req_phycntl phy_cntl;
- struct smp_req_conf_rtinfo conf_rt_info;
- u8 vendor[SMP_REQ_VENDOR_SPECIFIC_MAX_LEN];
- };
+ u8 req_data[0];
} __packed;
#define SMP_RESP_HDR_SZ 4