svn commit: r199832 - stable/7/sys/dev/ata

Alexander Motin mav at FreeBSD.org
Thu Nov 26 14:52:14 UTC 2009


Author: mav
Date: Thu Nov 26 14:52:14 2009
New Revision: 199832
URL: http://svn.freebsd.org/changeset/base/199832

Log:
  MFC r199749:
  Use only lower byte of sectors_intr IDENTIFY word as sector count.
  This fixes SET_MULTI error during boot on devices supporting less then
  16 sectors per interrupt.

Modified:
  stable/7/sys/dev/ata/ata-disk.c
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/dev/ata/ata-disk.c
==============================================================================
--- stable/7/sys/dev/ata/ata-disk.c	Thu Nov 26 14:50:01 2009	(r199831)
+++ stable/7/sys/dev/ata/ata-disk.c	Thu Nov 26 14:52:14 2009	(r199832)
@@ -417,7 +417,7 @@ ad_init(device_t dev)
 
     /* use multiple sectors/interrupt if device supports it */
     if (ad_version(atadev->param.version_major)) {
-	int secsperint = max(1, min(atadev->param.sectors_intr, 16));
+	int secsperint = max(1, min(atadev->param.sectors_intr & 0xff, 16));
 
 	if (!ata_controlcmd(dev, ATA_SET_MULTI, 0, 0, secsperint))
 	    atadev->max_iosize = secsperint * DEV_BSIZE;


More information about the svn-src-stable-7 mailing list