From 75428f7e2db4d30d003755eb46b0cd03a2564d60 Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Tue, 12 Feb 2008 09:11:30 +0000 Subject: [PATCH] Synchronize with Feral CVS repository: - do not dereference a null pointer git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@259 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla_isp/linux/isp_pci.c | 9 ++++++++- qla_isp/linux/scsi_target.c | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/qla_isp/linux/isp_pci.c b/qla_isp/linux/isp_pci.c index ed0fc167d..b77000319 100644 --- a/qla_isp/linux/isp_pci.c +++ b/qla_isp/linux/isp_pci.c @@ -1,4 +1,4 @@ -/* $Id: isp_pci.c,v 1.142 2007/11/14 18:19:36 mjacob Exp $ */ +/* $Id: isp_pci.c,v 1.144 2007/11/27 17:58:04 mjacob Exp $ */ /* * Copyright (c) 1997-2007 by Matthew Jacob * All rights reserved. @@ -3180,6 +3180,7 @@ isplinux_pci_remove(struct pci_dev *pdev) struct isp_pcisoftc *pci_isp = pci_get_drvdata(pdev); unsigned long flags; ispsoftc_t *isp; + int i; struct Scsi_Host *host; isp = (ispsoftc_t *) pci_isp; @@ -3218,6 +3219,12 @@ isplinux_pci_remove(struct pci_dev *pdev) #endif scsi_host_put(host); pci_set_drvdata(pdev, NULL); + for (i = 0; i < MAX_ISP; i++) { + if (isplist[i] == isp) { + isplist[i] = NULL; + break; + } + } } static struct pci_driver isplinux_pci_driver = { diff --git a/qla_isp/linux/scsi_target.c b/qla_isp/linux/scsi_target.c index cc1a0f580..426058143 100644 --- a/qla_isp/linux/scsi_target.c +++ b/qla_isp/linux/scsi_target.c @@ -1,4 +1,4 @@ -/* $Id: scsi_target.c,v 1.73 2007/11/14 18:19:29 mjacob Exp $ */ +/* $Id: scsi_target.c,v 1.74 2007/11/27 17:57:26 mjacob Exp $ */ /* * Copyright (c) 1997-2007 by Matthew Jacob * All rights reserved. @@ -1928,7 +1928,7 @@ scsi_target_handler(qact_e action, void *arg) } } if (tmd == NULL) { - printk(KERN_WARNING "scsi_target: ABORT_TASK[%llx] cannot find tmd\n", tmd->cd_tagval); + printk(KERN_WARNING "scsi_target: ABORT_TASK[%llx] cannot find tmd\n", np->nt_tagval); } } spin_unlock_irqrestore(&scsi_target_lock, flags);