Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Aug 2012 22:04:17 +0000 (UTC)
From:      Jim Harris <jimharris@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r239665 - head/sys/dev/isci
Message-ID:  <201208242204.q7OM4HX0012763@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jimharris
Date: Fri Aug 24 22:04:16 2012
New Revision: 239665
URL: http://svn.freebsd.org/changeset/base/239665

Log:
  Clear freeze bit before calling xpt_release_devq.
  
  This ensures that any ccbs which immediately start during the call to
  xpt_release_devq see an accurate picture of the frozen_lun_mask.
  
  Sponsored by:	Intel
  MFC after:	3 days

Modified:
  head/sys/dev/isci/isci_remote_device.c

Modified: head/sys/dev/isci/isci_remote_device.c
==============================================================================
--- head/sys/dev/isci/isci_remote_device.c	Fri Aug 24 21:45:52 2012	(r239664)
+++ head/sys/dev/isci/isci_remote_device.c	Fri Aug 24 22:04:16 2012	(r239665)
@@ -278,12 +278,12 @@ isci_remote_device_release_lun_queue(str
 	if (remote_device->frozen_lun_mask & (1 << lun)) {
 		struct cam_path *path;
 
+		remote_device->frozen_lun_mask &= ~(1 << lun);
 		xpt_create_path(&path, xpt_periph,
 		    cam_sim_path(remote_device->domain->controller->sim),
 		    remote_device->index, lun);
 		xpt_release_devq(path, 1, TRUE);
 		xpt_free_path(path);
-		remote_device->frozen_lun_mask &= ~(1 << lun);
 	}
 }
 



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