Message ID | 20221206125910.2170554-1-yangyingliang@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 0dff4eccb2edae2754c8a0c7444bf843bd102720 |
Headers | show |
Series | Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave() | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | success | CheckPatch PASS |
tedd_an/GitLint | success | Gitlint PASS |
tedd_an/SubjectPrefix | success | Gitlint PASS |
tedd_an/BuildKernel | success | BuildKernel PASS |
tedd_an/BuildKernel32 | success | BuildKernel32 PASS |
tedd_an/TestRunnerSetup | success | TestRunnerSetup PASS |
tedd_an/TestRunner_l2cap-tester | success | TestRunner PASS |
tedd_an/TestRunner_iso-tester | success | TestRunner PASS |
tedd_an/TestRunner_bnep-tester | success | TestRunner PASS |
tedd_an/TestRunner_mgmt-tester | success | TestRunner PASS |
tedd_an/TestRunner_rfcomm-tester | success | TestRunner PASS |
tedd_an/TestRunner_sco-tester | success | TestRunner PASS |
tedd_an/TestRunner_ioctl-tester | success | TestRunner PASS |
tedd_an/TestRunner_mesh-tester | success | TestRunner PASS |
tedd_an/TestRunner_smp-tester | success | TestRunner PASS |
tedd_an/TestRunner_userchan-tester | success | TestRunner PASS |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=702185 ---Test result--- Test Summary: CheckPatch PASS 0.66 seconds GitLint PASS 0.33 seconds SubjectPrefix PASS 0.12 seconds BuildKernel PASS 33.08 seconds BuildKernel32 PASS 29.90 seconds TestRunnerSetup PASS 427.20 seconds TestRunner_l2cap-tester PASS 16.35 seconds TestRunner_iso-tester PASS 16.22 seconds TestRunner_bnep-tester PASS 5.55 seconds TestRunner_mgmt-tester PASS 107.08 seconds TestRunner_rfcomm-tester PASS 9.52 seconds TestRunner_sco-tester PASS 8.95 seconds TestRunner_ioctl-tester PASS 10.27 seconds TestRunner_mesh-tester PASS 6.96 seconds TestRunner_smp-tester PASS 8.74 seconds TestRunner_userchan-tester PASS 5.80 seconds IncrementalBuild PASS 30.85 seconds --- Regards, Linux Bluetooth
Hi Yang, On Tue, Dec 6, 2022 at 5:01 AM Yang Yingliang <yangyingliang@huawei.com> wrote: > > It is not allowed to call kfree_skb() from hardware interrupt > context or with interrupts being disabled. So replace kfree_skb() > with dev_kfree_skb_irq() under spin_lock_irqsave(). > > Fixes: 803b58367ffb ("Bluetooth: btusb: Implement driver internal packet reassembly") > Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> > --- > drivers/bluetooth/btusb.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 271963805a38..772f2b0cb10d 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -802,13 +802,13 @@ static inline void btusb_free_frags(struct btusb_data *data) > > spin_lock_irqsave(&data->rxlock, flags); > > - kfree_skb(data->evt_skb); > + dev_kfree_skb_irq(data->evt_skb); > data->evt_skb = NULL; > > - kfree_skb(data->acl_skb); > + dev_kfree_skb_irq(data->acl_skb); > data->acl_skb = NULL; > > - kfree_skb(data->sco_skb); > + dev_kfree_skb_irq(data->sco_skb); > data->sco_skb = NULL; > > spin_unlock_irqrestore(&data->rxlock, flags); > -- > 2.25.1 This sounds like a better way to handle in the following set as well: https://patchwork.kernel.org/project/bluetooth/list/?series=701842 Could you please rework the entire set to use dev_kfree_skb_irq?
Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Tue, 6 Dec 2022 20:59:10 +0800 you wrote: > It is not allowed to call kfree_skb() from hardware interrupt > context or with interrupts being disabled. So replace kfree_skb() > with dev_kfree_skb_irq() under spin_lock_irqsave(). > > Fixes: 803b58367ffb ("Bluetooth: btusb: Implement driver internal packet reassembly") > Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> > > [...] Here is the summary with links: - Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave() https://git.kernel.org/bluetooth/bluetooth-next/c/0dff4eccb2ed You are awesome, thank you!
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 271963805a38..772f2b0cb10d 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -802,13 +802,13 @@ static inline void btusb_free_frags(struct btusb_data *data) spin_lock_irqsave(&data->rxlock, flags); - kfree_skb(data->evt_skb); + dev_kfree_skb_irq(data->evt_skb); data->evt_skb = NULL; - kfree_skb(data->acl_skb); + dev_kfree_skb_irq(data->acl_skb); data->acl_skb = NULL; - kfree_skb(data->sco_skb); + dev_kfree_skb_irq(data->sco_skb); data->sco_skb = NULL; spin_unlock_irqrestore(&data->rxlock, flags);
It is not allowed to call kfree_skb() from hardware interrupt context or with interrupts being disabled. So replace kfree_skb() with dev_kfree_skb_irq() under spin_lock_irqsave(). Fixes: 803b58367ffb ("Bluetooth: btusb: Implement driver internal packet reassembly") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> --- drivers/bluetooth/btusb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)