Bug 204554 - Intel 6300ESB SATA150 cannot find disk and boot rerun of 127391
Summary: Intel 6300ESB SATA150 cannot find disk and boot rerun of 127391
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 9.3-RELEASE
Hardware: i386 Any
: --- Affects Some People
Assignee: Alexander Motin
URL:
Keywords:
Depends on:
Blocks: 127391
  Show dependency treegraph
 
Reported: 2015-11-15 07:06 UTC by satz
Modified: 2015-11-29 17:16 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description satz 2015-11-15 07:06:41 UTC
I reported kern/127391 back when I upgraded to 6.3 and 7.1. A patch was re-discovered after being lost. See

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=127391

for the details. I had to patch sys/dev/ata/chipsets/ata-intel.c to increase the DELAY value in the reset routine.

*** /usr/src/sys/dev/ata/chipsets/ata-intel.c-  Fri Nov 28 08:47:33 2014
--- /usr/src/sys/dev/ata/chipsets/ata-intel.c   Sat Nov 14 03:08:23 2015
***************
*** 470,476 ****
                mask |= (1 << smap[1]);
        pci_write_config(parent, 0x92,
            pci_read_config(parent, 0x92, 2) & ~mask, 2);
!       DELAY(10);
        pci_write_config(parent, 0x92,
            pci_read_config(parent, 0x92, 2) | mask, 2);
  
--- 470,476 ----
                mask |= (1 << smap[1]);
        pci_write_config(parent, 0x92,
            pci_read_config(parent, 0x92, 2) & ~mask, 2);
!       DELAY(100);
        pci_write_config(parent, 0x92,
            pci_read_config(parent, 0x92, 2) | mask, 2);

I did notice that the GENERIC kernel worked fine when the console was redirected to the serial port which led me to think to keep increasing the DELAY value until it started working.
Comment 1 commit-hook freebsd_committer 2015-11-15 10:58:14 UTC
A commit references this bug:

Author: mav
Date: Sun Nov 15 10:58:02 UTC 2015
New revision: 290855
URL: https://svnweb.freebsd.org/changeset/base/290855

Log:
  Increase reset assertion time from 10 to 100us.

  On my own tests I see no effect from this change, but I also can't
  reproduce the reported problem in general.

  PR:		127391
  PR:		204554
  Submitted by:	satz@iranger.com
  MFC after:	2 weeks

Changes:
  head/sys/dev/ata/chipsets/ata-intel.c
Comment 2 Alexander Motin freebsd_committer 2015-11-15 10:59:12 UTC
The patch is committed to FreeBSD head.
Comment 3 commit-hook freebsd_committer 2015-11-29 17:14:24 UTC
A commit references this bug:

Author: mav
Date: Sun Nov 29 17:14:05 UTC 2015
New revision: 291456
URL: https://svnweb.freebsd.org/changeset/base/291456

Log:
  MFC r290855: Increase reset assertion time from 10 to 100us.

  On my own tests I see no effect from this change, but I also can't
  reproduce the reported problem in general.

  PR:		127391
  PR:		204554
  Submitted by:	satz@iranger.com

Changes:
_U  stable/10/
  stable/10/sys/dev/ata/chipsets/ata-intel.c
Comment 4 commit-hook freebsd_committer 2015-11-29 17:15:27 UTC
A commit references this bug:

Author: mav
Date: Sun Nov 29 17:14:47 UTC 2015
New revision: 291457
URL: https://svnweb.freebsd.org/changeset/base/291457

Log:
  MFC r290855: Increase reset assertion time from 10 to 100us.

  On my own tests I see no effect from this change, but I also can't
  reproduce the reported problem in general.

  PR:             127391
  PR:             204554
  Submitted by:   satz@iranger.com

Changes:
_U  stable/9/
_U  stable/9/sys/
_U  stable/9/sys/dev/
  stable/9/sys/dev/ata/chipsets/ata-intel.c