svn commit: r271201 - head/sys/dev/ahci
Warner Losh
imp at bsdimp.com
Fri Sep 26 00:59:16 UTC 2014
Hey Bryan,
Sorry for the hassle. This didn’t show up in the hardware I had, but did show up in Mav’s hardware. It was like this less than a day, I thought…
Warner
On Sep 25, 2014, at 5:18 PM, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
> This drove me crazy for the past few days!
>
> https://lists.freebsd.org/pipermail/freebsd-current/2014-September/052215.html
>
> Not sure about the first trace there, but the others I encountered were
> due to this not being fixed yet. smh@ tracked the ordering down and then
> we found this. I couldn't try a newer build easily since my system would
> panic on just buildworld :)
>
> On 9/6/2014 1:20 PM, Warner Losh wrote:
>> Author: imp
>> Date: Sat Sep 6 18:20:50 2014
>> New Revision: 271201
>> URL: http://svnweb.freebsd.org/changeset/base/271201
>>
>> Log:
>> Restore order of interrupt setup. Minor problems can result by
>> setting up the interrupts too early:
>>
>> Reviewed by: mav@
>> Sponsored by: Netflix
>>
>> Modified:
>> head/sys/dev/ahci/ahci.c
>> head/sys/dev/ahci/ahci_pci.c
>>
>> Modified: head/sys/dev/ahci/ahci.c
>> ==============================================================================
>> --- head/sys/dev/ahci/ahci.c Sat Sep 6 18:08:21 2014 (r271200)
>> +++ head/sys/dev/ahci/ahci.c Sat Sep 6 18:20:50 2014 (r271201)
>> @@ -229,6 +229,15 @@ ahci_attach(device_t dev)
>>
>> ahci_ctlr_setup(dev);
>>
>> + /* Setup interrupts. */
>> + if (ahci_setup_interrupt(dev)) {
>> + bus_dma_tag_destroy(ctlr->dma_tag);
>> + bus_release_resource(dev, SYS_RES_MEMORY, ctlr->r_rid,
>> + ctlr->r_mem);
>> + rman_fini(&ctlr->sc_iomem);
>> + return ENXIO;
>> + }
>> +
>> i = 0;
>> for (u = ctlr->ichannels; u != 0; u >>= 1)
>> i += (u & 1);
>>
>> Modified: head/sys/dev/ahci/ahci_pci.c
>> ==============================================================================
>> --- head/sys/dev/ahci/ahci_pci.c Sat Sep 6 18:08:21 2014 (r271200)
>> +++ head/sys/dev/ahci/ahci_pci.c Sat Sep 6 18:20:50 2014 (r271201)
>> @@ -417,13 +417,6 @@ ahci_pci_attach(device_t dev)
>> ctlr->numirqs = 1;
>> }
>>
>> - if (ahci_setup_interrupt(dev)) {
>> - if (ctlr->msi)
>> - pci_release_msi(dev);
>> - bus_release_resource(dev, SYS_RES_MEMORY, ctlr->r_rid, ctlr->r_mem);
>> - return ENXIO;
>> - }
>> -
>> error = ahci_attach(dev);
>> if (error != 0)
>> if (ctlr->msi)
>>
>
>
> --
> Regards,
> Bryan Drewery
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20140925/a97e8480/attachment.sig>
More information about the svn-src-all
mailing list