diff options
author | Yi Zou <yi.zou@intel.com> | 2010-04-09 17:23:05 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 15:02:40 -0400 |
commit | 63ac4bbffb40f2cb3bc7e8b11bac47598813ea13 (patch) | |
tree | 1b0abf1576e58549f3a89e218e3ab67e55f205e1 /drivers/scsi/libfc | |
parent | da87bfab8a7e6cfd0e1e5c5874d7fd4f7d11e64e (diff) |
[SCSI] libfc: bug in erroring out upon FCP_RSP_LEN_VAL in fc_fcp_resp
fc_fcp_resp is assuming when FCP_SNS_LEN_VAL is set, the FCP_RSP_LEN_VAL
is not, which is not true. This leads to not copying the sense data and
error out a valid FCP_RSP.
Signed-off-by: Yi Zou <yi.zou@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/libfc')
-rw-r--r-- | drivers/scsi/libfc/fc_fcp.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c index 220c4bc536ca..f99d66fa2ef5 100644 --- a/drivers/scsi/libfc/fc_fcp.c +++ b/drivers/scsi/libfc/fc_fcp.c | |||
@@ -844,8 +844,7 @@ static void fc_fcp_resp(struct fc_fcp_pkt *fsp, struct fc_frame *fp) | |||
844 | * exit here | 844 | * exit here |
845 | */ | 845 | */ |
846 | return; | 846 | return; |
847 | } else | 847 | } |
848 | goto err; | ||
849 | } | 848 | } |
850 | if (flags & FCP_SNS_LEN_VAL) { | 849 | if (flags & FCP_SNS_LEN_VAL) { |
851 | snsl = ntohl(rp_ex->fr_sns_len); | 850 | snsl = ntohl(rp_ex->fr_sns_len); |