Commit 1867a43
Bluetooth: buf: Put command complete/status in sync buf pool
Why is it ok to use the sync pool?
Because command complete/status is processed in prio: that means on the
same stack as the `bt_recv()` call from the driver.
Why does it fix the issue?
Because the complete/status event goes into a pool that is guaranteed to
have one free buffer any time `bt_recv()` is not executing.
Since the driver is the one calling bt_recv(), it (hopefully) will
finish one `bt_recv()` before starting another one.
Fixes #78223
Co-authored-by: Aleksander Wasaznik <[email protected]>
Signed-off-by: Aleksander Wasaznik <[email protected]>
Signed-off-by: Jonathan Rico <[email protected]>
(cherry picked from commit 6d5cce6)
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>1 parent c409a09 commit 1867a43
1 file changed
+9
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
31 | 23 | | |
32 | 24 | | |
33 | 25 | | |
| |||
37 | 29 | | |
38 | 30 | | |
39 | 31 | | |
40 | | - | |
41 | 32 | | |
42 | | - | |
43 | 33 | | |
44 | 34 | | |
45 | 35 | | |
| |||
96 | 86 | | |
97 | 87 | | |
98 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
99 | 92 | | |
100 | 93 | | |
101 | | - | |
102 | 94 | | |
103 | 95 | | |
104 | 96 | | |
| |||
0 commit comments