diff options
author | Patrick Wildt <patrick@cvs.openbsd.org> | 2019-02-07 07:38:34 +0000 |
---|---|---|
committer | Patrick Wildt <patrick@cvs.openbsd.org> | 2019-02-07 07:38:34 +0000 |
commit | 2f1b930f14157ea72b22d461918e8adf60073df2 (patch) | |
tree | 43c46059632a78fff2933aadf6c81956485f90e0 /sys | |
parent | 08d73077302b84179b58e304cbfb2d2ada720f01 (diff) |
There's a task ring for executing commands in a sleep-safe context.
This task is used to deliver mbufs (for events, not data), but it's
possible that the queue overruns. In that case it does leak mbufs.
For now, assert the size to see if we hit the issue.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/bwfm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ic/bwfm.c b/sys/dev/ic/bwfm.c index 69624040ff4..4b69a9be7f0 100644 --- a/sys/dev/ic/bwfm.c +++ b/sys/dev/ic/bwfm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bwfm.c,v 1.55 2019/01/30 09:20:56 stsp Exp $ */ +/* $OpenBSD: bwfm.c,v 1.56 2019/02/07 07:38:33 patrick Exp $ */ /* * Copyright (c) 2010-2016 Broadcom Corporation * Copyright (c) 2016,2017 Patrick Wildt <patrick@blueri.se> @@ -2426,6 +2426,7 @@ bwfm_do_async(struct bwfm_softc *sc, int s; s = splsoftnet(); + KASSERT(ring->queued < BWFM_HOST_CMD_RING_COUNT); if (ring->queued >= BWFM_HOST_CMD_RING_COUNT) { splx(s); return; |