aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/bfusb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/bluetooth/bfusb.c')
-rw-r--r--drivers/bluetooth/bfusb.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/bluetooth/bfusb.c b/drivers/bluetooth/bfusb.c
index 3ba8170d08d3..616ec2ac1b22 100644
--- a/drivers/bluetooth/bfusb.c
+++ b/drivers/bluetooth/bfusb.c
@@ -422,17 +422,12 @@ static int bfusb_open(struct hci_dev *hdev)
422 422
423 BT_DBG("hdev %p bfusb %p", hdev, data); 423 BT_DBG("hdev %p bfusb %p", hdev, data);
424 424
425 if (test_and_set_bit(HCI_RUNNING, &hdev->flags))
426 return 0;
427
428 write_lock_irqsave(&data->lock, flags); 425 write_lock_irqsave(&data->lock, flags);
429 426
430 err = bfusb_rx_submit(data, NULL); 427 err = bfusb_rx_submit(data, NULL);
431 if (!err) { 428 if (!err) {
432 for (i = 1; i < BFUSB_MAX_BULK_RX; i++) 429 for (i = 1; i < BFUSB_MAX_BULK_RX; i++)
433 bfusb_rx_submit(data, NULL); 430 bfusb_rx_submit(data, NULL);
434 } else {
435 clear_bit(HCI_RUNNING, &hdev->flags);
436 } 431 }
437 432
438 write_unlock_irqrestore(&data->lock, flags); 433 write_unlock_irqrestore(&data->lock, flags);
@@ -458,9 +453,6 @@ static int bfusb_close(struct hci_dev *hdev)
458 453
459 BT_DBG("hdev %p bfusb %p", hdev, data); 454 BT_DBG("hdev %p bfusb %p", hdev, data);
460 455
461 if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags))
462 return 0;
463
464 write_lock_irqsave(&data->lock, flags); 456 write_lock_irqsave(&data->lock, flags);
465 write_unlock_irqrestore(&data->lock, flags); 457 write_unlock_irqrestore(&data->lock, flags);
466 458