diff options
Diffstat (limited to 'drivers/bluetooth/bfusb.c')
-rw-r--r-- | drivers/bluetooth/bfusb.c | 8 |
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 | ||