diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2004-10-27 21:23:02 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2004-10-27 21:23:02 +0000 |
commit | 489bbdb168f13bfa3c0c9e42a537632034e4022e (patch) | |
tree | 92a79189c320ca75c015b951774d4b66c8d78b8c /sys/dev/pci | |
parent | d865a8383a71b9335c4ce381656d041fdbc03dbf (diff) |
Handle fatal errors from firmware (imported from iwi).
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/if_ipw.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/pci/if_ipw.c b/sys/dev/pci/if_ipw.c index 8d5a8286e6c..f38bf7b7bfd 100644 --- a/sys/dev/pci/if_ipw.c +++ b/sys/dev/pci/if_ipw.c @@ -1,4 +1,4 @@ -/* $Id: if_ipw.c,v 1.13 2004/10/27 21:22:14 damien Exp $ */ +/* $Id: if_ipw.c,v 1.14 2004/10/27 21:23:01 damien Exp $ */ /*- * Copyright (c) 2004 @@ -742,6 +742,11 @@ ipw_intr(void *arg) wakeup(sc); } + if (r & (IPW_INTR_FATAL_ERROR | IPW_INTR_PARITY_ERROR)) { + printf("%s: fatal error\n", sc->sc_dev.dv_xname); + ipw_stop(&sc->sc_ic.ic_if, 1); + } + /* Acknowledge interrupts */ CSR_WRITE_4(sc, IPW_CSR_INTR, r); |