diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-06-17 01:59:56 +0200 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-07-03 13:04:51 +0200 |
commit | e9bf709564e90abea25ca7aeae8c3de5cc6468d7 (patch) | |
tree | e4569a311fd0181109ad7b265425a74af2a41553 /drivers/scsi/isci/sas.h | |
parent | isci: fix dma_unmap_sg usage (diff) | |
download | linux-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.h | 11 |
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 |