diff options
author | Warner Losh <imp@FreeBSD.org> | 2011-06-21 03:07:59 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2011-06-21 03:07:59 +0000 |
commit | 24c02d2f9e4cb17e32735f0362453c74eafdb952 (patch) | |
tree | 32bf030c59381dc7a6863f8a6101bdd7c7a32fbb /sys/dev/firewire | |
parent | e6830016ad31a737c35a0f413a8f2b72187e6b2c (diff) | |
download | src-24c02d2f9e4cb17e32735f0362453c74eafdb952.tar.gz src-24c02d2f9e4cb17e32735f0362453c74eafdb952.zip |
When we see an interrupt status of 0xffffffff, check to see if the
child is still present. If not, return 'handled' and don't print
anything (this is expected behavior). We expect an interrupt on eject,
power-down and/or shutdown.
Notes
Notes:
svn path=/head/; revision=223353
Diffstat (limited to 'sys/dev/firewire')
-rw-r--r-- | sys/dev/firewire/fwohci.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/firewire/fwohci.c b/sys/dev/firewire/fwohci.c index cccbc8c76996..4b147b2ab139 100644 --- a/sys/dev/firewire/fwohci.c +++ b/sys/dev/firewire/fwohci.c @@ -2072,8 +2072,9 @@ fwohci_check_stat(struct fwohci_softc *sc) FW_GLOCK_ASSERT(&sc->fc); stat = OREAD(sc, FWOHCI_INTSTAT); if (stat == 0xffffffff) { - device_printf(sc->fc.dev, - "device physically ejected?\n"); + if (!bus_child_present(sc->fc.dev)) + return (FILTER_HANDLED); + device_printf(sc->fc.dev, "device physically ejected?\n"); return (FILTER_STRAY); } if (stat) |