[ppc64] llan: fix fatal kernel trap when system is low on memory

When running several builders in parallel, on QEMU, with 8GB of
memory, a fatal kernel trap (0x300 (data storage interrupt))
caused by llan driver is sometimes observed, when the system
starts to run out of swap space.

This happens because, at llan_intr(), a phyp call to add a
logical LAN buffer is always made when llan_add_rxbuf() fails,
even if it fails to allocate a new buffer.

PR:	235489
Reviewed by:	jhibbits
Differential Revision:	https://reviews.freebsd.org/D19084
This commit is contained in:
Leandro Lupori 2019-02-05 18:16:14 +00:00
parent 401ca034cd
commit 4a8450ceff
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=343791

View File

@ -386,8 +386,6 @@ llan_intr(void *xsc)
/* llan_add_rxbuf does DMA sync and unload as well as requeue */
if (llan_add_rxbuf(sc, rx) != 0) {
if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1);
phyp_hcall(H_ADD_LOGICAL_LAN_BUFFER, sc->unit,
rx->rx_bufdesc);
continue;
}