NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-amd64/53807: ena(4) on NetBSD/amd64 8.99.28 on Amazon Web Service EC2 c5.large instance causes kernel panic
The following reply was made to PR port-amd64/53807; it has been noted by GNATS.
From: Ryo ONODERA <ryo%tetera.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: port-amd64/53807: ena(4) on NetBSD/amd64 8.99.28 on Amazon Web
Service EC2 c5.large instance causes kernel panic
Date: Wed, 26 Dec 2018 21:46:50 +0900 (JST)
Hi,
bus_space_map() returns non-zero in the following src/sys/arch/x86/pci/msipic.c.
And changing #if 0 to #if 1 has no effect, so I have gotten same result.
From src/sys/arch/x86/pci/msipic.c
#if 0
err = pci_mapreg_submap(pa, bar, memtype, BUS_SPACE_MAP_LINEAR,
roundup(table_size, PAGE_SIZE), table_offset,
&bstag, &bshandle, NULL, &bssize);
#else
/*
* Workaround for PCI prefetchable bit. Some chips (e.g. Intel 82599)
* report SERR and MSI-X doesn't work. This problem might not be the
* driver's bug but our PCI common part or VMs' bug. Until we find a
* real reason, we ignore the prefetchable bit.
*/
if (pci_mapreg_info(pa->pa_pc, pa->pa_tag, bar, memtype,
&memaddr, NULL, &flags) != 0) {
DPRINTF(("cannot get a map info.\n"));
msipic_destruct_common_msi_pic(msix_pic);
return NULL;
}
if ((flags & BUS_SPACE_MAP_PREFETCHABLE) != 0) {
DPRINTF(( "clear prefetchable bit\n"));
flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
}
bssize = roundup(table_size, PAGE_SIZE);
err = bus_space_map(pa->pa_memt, memaddr + table_offset, bssize, flags,
&bshandle);
bstag = pa->pa_memt;
#endif
if (err) {
DPRINTF(("cannot map msix table.\n"));
msipic_destruct_common_msi_pic(msix_pic);
return NULL;
}
--
Ryo ONODERA // ryo%tetera.org@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
Home |
Main Index |
Thread Index |
Old Index