aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_bsg.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-11-20 23:14:19 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 13:23:58 -0500
commit63e801ce685d151c5faca8f491adc2ad2e732259 (patch)
tree6cf3db58849160580e4a5c1ce32e4ee14ed6902d /drivers/scsi/lpfc/lpfc_bsg.c
parent98db519573e805f9f7e988fb5661da951fcb16b1 (diff)
[SCSI] lpfc 8.3.19: Fix critical errors and crashes
Fix critical errors and crashes - Replace LOF_SECURITY with LOG_SECURITY - When calculating diag test memory size, use full size with header. - Return LS_RJT with status=UNSUPPORTED on unrecognized ELS's - Correct NULL pointer dereference when lpfc_create_vport_work_array() returns NULL. - Added code to handle CVL when port is in LPFC_VPORT_FAILED state. - In lpfc_do_scr_ns_plogi, check the nodelist for FDMI_DID and reuse the resource. - Check for generic request 64 and calculate the sgl offset for the request and reply sgls, also calculate the xmit length using only the request bde. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_bsg.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_bsg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_bsg.c b/drivers/scsi/lpfc/lpfc_bsg.c
index 7260c3af555a..c216f4eb0e37 100644
--- a/drivers/scsi/lpfc/lpfc_bsg.c
+++ b/drivers/scsi/lpfc/lpfc_bsg.c
@@ -2162,7 +2162,7 @@ lpfc_bsg_diag_test(struct fc_bsg_job *job)
2162 goto loopback_test_exit; 2162 goto loopback_test_exit;
2163 } 2163 }
2164 2164
2165 if (size >= BUF_SZ_4K) { 2165 if (full_size >= BUF_SZ_4K) {
2166 /* 2166 /*
2167 * Allocate memory for ioctl data. If buffer is bigger than 64k, 2167 * Allocate memory for ioctl data. If buffer is bigger than 64k,
2168 * then we allocate 64k and re-use that buffer over and over to 2168 * then we allocate 64k and re-use that buffer over and over to
@@ -2171,7 +2171,7 @@ lpfc_bsg_diag_test(struct fc_bsg_job *job)
2171 * problem with GET_FCPTARGETMAPPING... 2171 * problem with GET_FCPTARGETMAPPING...
2172 */ 2172 */
2173 if (size <= (64 * 1024)) 2173 if (size <= (64 * 1024))
2174 total_mem = size; 2174 total_mem = full_size;
2175 else 2175 else
2176 total_mem = 64 * 1024; 2176 total_mem = 64 * 1024;
2177 } else 2177 } else