From 83945bde9c446b4746132549653169fe0b8d1e72 Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Mon, 30 Aug 2010 10:30:17 +0000 Subject: [PATCH] Fixes crash with certain topology setups. Reported and tested by Timm Essigke git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2020 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla2x00t/qla_os.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/qla2x00t/qla_os.c b/qla2x00t/qla_os.c index fdcf9699f..9e9f48eb1 100644 --- a/qla2x00t/qla_os.c +++ b/qla2x00t/qla_os.c @@ -671,8 +671,14 @@ qla2x00_abort_fcport_cmds(fc_port_t *fcport) int cnt; unsigned long flags; srb_t *sp; - scsi_qla_host_t *ha = fcport->ha; - scsi_qla_host_t *pha = to_qla_parent(ha); + scsi_qla_host_t *ha; + scsi_qla_host_t *pha; + + if (fcport == NULL) + goto out; + + ha = fcport->ha; + pha = to_qla_parent(ha); spin_lock_irqsave(&pha->hardware_lock, flags); for (cnt = 1; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) { @@ -697,6 +703,9 @@ qla2x00_abort_fcport_cmds(fc_port_t *fcport) spin_lock_irqsave(&pha->hardware_lock, flags); } spin_unlock_irqrestore(&pha->hardware_lock, flags); + +out: + return; } static void