diff options
author | Conrad Meyer <cem@FreeBSD.org> | 2015-10-24 23:45:56 +0000 |
---|---|---|
committer | Conrad Meyer <cem@FreeBSD.org> | 2015-10-24 23:45:56 +0000 |
commit | 4becebdf9edc22812a6fab3afdacc05af363dc7e (patch) | |
tree | aaf661f24d1f0db80218c61f0491a37decb65045 /sys/dev | |
parent | f7157235b8b436d37394e556e9811e9c7f8aa990 (diff) | |
download | src-4becebdf9edc22812a6fab3afdacc05af363dc7e.tar.gz src-4becebdf9edc22812a6fab3afdacc05af363dc7e.zip |
ioat: Always re-arm interrupts in process_events
It doesn't hurt, even if there is nothing to do.
Sponsored by: EMC / Isilon Storage Division
Notes
Notes:
svn path=/head/; revision=289909
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ioat/ioat.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/ioat/ioat.c b/sys/dev/ioat/ioat.c index 730d2b3faad9..4daefb140227 100644 --- a/sys/dev/ioat/ioat.c +++ b/sys/dev/ioat/ioat.c @@ -575,10 +575,8 @@ ioat_process_events(struct ioat_softc *ioat) ioat_log_message(3, "%s\n", __func__); - if (status == ioat->last_seen) { - mtx_unlock(&ioat->cleanup_lock); - return; - } + if (status == ioat->last_seen) + goto out; while (1) { desc = ioat_get_ring_entry(ioat, ioat->tail); @@ -602,6 +600,7 @@ ioat_process_events(struct ioat_softc *ioat) ioat_timer_callback, ioat); } +out: ioat_write_chanctrl(ioat, IOAT_CHANCTRL_RUN); mtx_unlock(&ioat->cleanup_lock); |