Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Oct 2014 07:59:16 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r272936 - head/sys/dev/isp
Message-ID:  <201410110759.s9B7xGqB013008@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Sat Oct 11 07:59:15 2014
New Revision: 272936
URL: https://svnweb.freebsd.org/changeset/base/272936

Log:
  Update isp_tgt_map and send new arrival notification if target that departed
  earlier has returned.  Previously that code worked only once, confusing CTL.
  
  MFC after:	1 month

Modified:
  head/sys/dev/isp/isp_library.c

Modified: head/sys/dev/isp/isp_library.c
==============================================================================
--- head/sys/dev/isp/isp_library.c	Sat Oct 11 07:49:27 2014	(r272935)
+++ head/sys/dev/isp/isp_library.c	Sat Oct 11 07:59:15 2014	(r272936)
@@ -2540,6 +2540,10 @@ isp_add_wwn_entry(ispsoftc_t *isp, int c
 			isp_prt(isp, ISP_LOGWARN, "Chan %d IID 0x%016llx N-Port Handle 0x%04x Port ID 0x%06x reentered", chan,
 			    (unsigned long long) lp->port_wwn, lp->handle, lp->portid);
 		}
+		if (fcp->isp_tgt_map[nphdl] == 0) {
+			fcp->isp_tgt_map[nphdl] = i + 1;
+			goto notify;
+		}
 		return;
 	}
 
@@ -2573,6 +2577,7 @@ isp_add_wwn_entry(ispsoftc_t *isp, int c
 	isp_prt(isp, ISP_LOGTINFO, "Chan %d IID 0x%016llx N-Port Handle 0x%04x Port ID 0x%06x vtgt %d %s added", chan,
 	    (unsigned long long) ini, nphdl, s_id, fcp->isp_tgt_map[nphdl] - 1, buf);
 
+notify:
 	ISP_MEMZERO(&nt, sizeof (nt));
 	nt.nt_hba = isp;
 	nt.nt_wwn = ini;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410110759.s9B7xGqB013008>