svn commit: r249048 - in head/sys/cam: ata scsi

Alexander Motin mav at FreeBSD.org
Wed Apr 3 11:30:18 UTC 2013


Author: mav
Date: Wed Apr  3 11:30:18 2013
New Revision: 249048
URL: http://svnweb.freebsd.org/changeset/base/249048

Log:
  Add xpt_release_ccb()'s missed at r248872.  That made `shutdown -p` stuck
  on controller with small number of queue slots and several disks connected.

Modified:
  head/sys/cam/ata/ata_da.c
  head/sys/cam/scsi/scsi_da.c

Modified: head/sys/cam/ata/ata_da.c
==============================================================================
--- head/sys/cam/ata/ata_da.c	Wed Apr  3 11:06:26 2013	(r249047)
+++ head/sys/cam/ata/ata_da.c	Wed Apr  3 11:30:18 2013	(r249048)
@@ -1886,6 +1886,7 @@ adaflush(void)
 		    softc->disk->d_devstat);
 		if (error != 0)
 			xpt_print(periph->path, "Synchronize cache failed\n");
+		xpt_release_ccb(ccb);
 		cam_periph_unlock(periph);
 	}
 }
@@ -1931,6 +1932,7 @@ adaspindown(uint8_t cmd, int flags)
 		    softc->disk->d_devstat);
 		if (error != 0)
 			xpt_print(periph->path, "Spin-down disk failed\n");
+		xpt_release_ccb(ccb);
 		cam_periph_unlock(periph);
 	}
 }

Modified: head/sys/cam/scsi/scsi_da.c
==============================================================================
--- head/sys/cam/scsi/scsi_da.c	Wed Apr  3 11:06:26 2013	(r249047)
+++ head/sys/cam/scsi/scsi_da.c	Wed Apr  3 11:30:18 2013	(r249048)
@@ -2897,6 +2897,7 @@ dashutdown(void * arg, int howto)
 		    softc->disk->d_devstat);
 		if (error != 0)
 			xpt_print(periph->path, "Synchronize cache failed\n");
+		xpt_release_ccb(ccb);
 		cam_periph_unlock(periph);
 	}
 }


More information about the svn-src-all mailing list