Re: [PATCH v2 5/8] Bluetooth: 6LoWPAN: Use connected oriented channel instead of fixed one

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Szymon,

>>>>> +static struct sk_buff *bt_6lowpan_chan_alloc_skb_cb(struct l2cap_chan
>>>>> *chan, +						    unsigned long len, int nb)
>>>>> +{
>>>>> +	return bt_skb_alloc(len, GFP_ATOMIC);
>>>> 
>>>> Does this have to be GFP_ATOMIC?
>>> 
>>> Yep, I see "BUG: sleeping function called from invalid context..."
>>> without it.
>> 
>> should we fix the caller? I am curious why this is possible in the first
>> place. The whole Bluetooth subsystem should run in a workqueue these days.
>> Do we have by any chance the wrong lock hold at this point or why is this
>> happening.
>> 
>> If we really need to keep GFP_ATOMIC here then you need to add a comment on
>> why that is. Because otherwise we will forget about it next time around.
> 
> FWIW this is due to holding hci_dev_list_lock which is RW_LOCK. For similar 
> reason there is GFP_ATOMIC in read_index_list() in mgmt.c.

okay then, any reason this can not be turned into a mutex?

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux