On FIBRE devices, there are times when linkstat interrupt doesn't occur?
reported from Andrius V. thanks. - use polling instead of linkstat interrupt when FIBRE - add AQ_FORCE_POLL_LINKSTAT options (not by default)
This commit is contained in:
parent
4efd5405d6
commit
db2d1ff4ea
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_aq.c,v 1.12 2020/04/22 22:54:43 christos Exp $ */
|
||||
/* $NetBSD: if_aq.c,v 1.13 2020/04/23 06:27:21 ryo Exp $ */
|
||||
|
||||
/**
|
||||
* aQuantia Corporation Network Driver
|
||||
@ -62,7 +62,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_aq.c,v 1.12 2020/04/22 22:54:43 christos Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_aq.c,v 1.13 2020/04/23 06:27:21 ryo Exp $");
|
||||
|
||||
#ifdef _KERNEL_OPT
|
||||
#include "opt_if_aq.h"
|
||||
@ -1310,6 +1310,14 @@ aq_attach(device_t parent, device_t self, void *aux)
|
||||
sc->sc_msix = false;
|
||||
}
|
||||
|
||||
/* XXX: on FIBRE, linkstat interrupt does not occur on boot? */
|
||||
if (aqp->aq_media_type == AQ_MEDIA_TYPE_FIBRE)
|
||||
sc->sc_poll_linkstat = true;
|
||||
|
||||
#ifdef AQ_FORCE_POLL_LINKSTAT
|
||||
sc->sc_poll_linkstat = true;
|
||||
#endif
|
||||
|
||||
aprint_debug_dev(sc->sc_dev,
|
||||
"ncpu=%d, pci_msix_count=%d."
|
||||
" allocate %d interrupts for %d%s queues%s\n",
|
||||
|
Loading…
Reference in New Issue
Block a user