Do not call skb_pull() in msft_add_monitor_sync() as msft_le_monitor_advertisement_cb() expects 'status' to be part of the skb. Same applies for msft_remove_monitor_sync(). Signed-off-by: Manish Mandlik <mmandlik@xxxxxxxxxx> --- net/bluetooth/msft.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/net/bluetooth/msft.c b/net/bluetooth/msft.c index f43994523b1f..9990924719aa 100644 --- a/net/bluetooth/msft.c +++ b/net/bluetooth/msft.c @@ -387,7 +387,6 @@ static int msft_remove_monitor_sync(struct hci_dev *hdev, return PTR_ERR(skb); status = skb->data[0]; - skb_pull(skb, 1); msft_le_cancel_monitor_advertisement_cb(hdev, status, hdev->msft_opcode, skb); @@ -506,7 +505,6 @@ static int msft_add_monitor_sync(struct hci_dev *hdev, return PTR_ERR(skb); status = skb->data[0]; - skb_pull(skb, 1); msft_le_monitor_advertisement_cb(hdev, status, hdev->msft_opcode, skb); -- 2.36.0.512.ge40c2bad7a-goog