On Wed, Jan 12, 2011 at 3:37 AM, Johan Hedberg <johan.hedberg@xxxxxxxxx> wrote: > Hi, > > On Wed, Jan 12, 2011, zhangfei gao wrote: >> Is there any flag indicating bt/fm is ready to run "hcitool cmd", ie, >> "hciconfig hci0 up" is really finished. >> >> We met error "Send failed: File descriptor in bad state", if run >> hcitool immediately after "hciconfig hci0 up" >> For example: >> hciconfig hci0 up >> hcitool cmd 3f 66 02 26 00 00 00 30 > > The HCIDEVUP ioctl is at least synchronized with the open() callback for > the HCI driver so in that sense if the driver is working fine it should > be possible to send commands when it returns. There is however an issue > with existing kernels that HCIDEVUP doesn't wait for all of the kernels > own HCI commands to finish before returning to user space. There was a > patch sent for this some time ago which you might be interested in > trying: http://marc.info/?l=linux-bluetooth&m=129296529630642&w=4 Really thanks Johan, The patch synchronize hci_dev_open, it solve the problem we met, and "hcitool cmd" could immediately send after "hciconfig hci0 up" without problem. By the way, is this patch already in the kernel? > > Johan > -- 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