btusb.c (e269f90f3d3f7c70cf661c660bf445597261f54a) btusb.c (a6c511c636848f871f5b7aef38e25e5b894b3b48)
1/*
2 *
3 * Generic Bluetooth USB driver
4 *
5 * Copyright (C) 2005-2008 Marcel Holtmann <marcel@holtmann.org>
6 *
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 1012 unchanged lines hidden (view full) ---

1021 hdev->flush = btusb_flush;
1022 hdev->send = btusb_send_frame;
1023 hdev->notify = btusb_notify;
1024
1025 /* Interface numbers are hardcoded in the specification */
1026 data->isoc = usb_ifnum_to_if(data->udev, 1);
1027
1028 if (!reset)
1/*
2 *
3 * Generic Bluetooth USB driver
4 *
5 * Copyright (C) 2005-2008 Marcel Holtmann <marcel@holtmann.org>
6 *
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 1012 unchanged lines hidden (view full) ---

1021 hdev->flush = btusb_flush;
1022 hdev->send = btusb_send_frame;
1023 hdev->notify = btusb_notify;
1024
1025 /* Interface numbers are hardcoded in the specification */
1026 data->isoc = usb_ifnum_to_if(data->udev, 1);
1027
1028 if (!reset)
1029 set_bit(HCI_QUIRK_NO_RESET, &hdev->quirks);
1029 set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
1030
1031 if (force_scofix || id->driver_info & BTUSB_WRONG_SCO_MTU) {
1032 if (!disable_scofix)
1033 set_bit(HCI_QUIRK_FIXUP_BUFFER_SIZE, &hdev->quirks);
1034 }
1035
1036 if (id->driver_info & BTUSB_BROKEN_ISOC)
1037 data->isoc = NULL;
1038
1039 if (id->driver_info & BTUSB_DIGIANSWER) {
1040 data->cmdreq_type = USB_TYPE_VENDOR;
1030
1031 if (force_scofix || id->driver_info & BTUSB_WRONG_SCO_MTU) {
1032 if (!disable_scofix)
1033 set_bit(HCI_QUIRK_FIXUP_BUFFER_SIZE, &hdev->quirks);
1034 }
1035
1036 if (id->driver_info & BTUSB_BROKEN_ISOC)
1037 data->isoc = NULL;
1038
1039 if (id->driver_info & BTUSB_DIGIANSWER) {
1040 data->cmdreq_type = USB_TYPE_VENDOR;
1041 set_bit(HCI_QUIRK_NO_RESET, &hdev->quirks);
1041 set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
1042 }
1043
1044 if (id->driver_info & BTUSB_CSR) {
1045 struct usb_device *udev = data->udev;
1046
1047 /* Old firmware would otherwise execute USB reset */
1048 if (le16_to_cpu(udev->descriptor.bcdDevice) < 0x117)
1042 }
1043
1044 if (id->driver_info & BTUSB_CSR) {
1045 struct usb_device *udev = data->udev;
1046
1047 /* Old firmware would otherwise execute USB reset */
1048 if (le16_to_cpu(udev->descriptor.bcdDevice) < 0x117)
1049 set_bit(HCI_QUIRK_NO_RESET, &hdev->quirks);
1049 set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
1050 }
1051
1052 if (id->driver_info & BTUSB_SNIFFER) {
1053 struct usb_device *udev = data->udev;
1054
1055 /* New sniffer firmware has crippled HCI interface */
1056 if (le16_to_cpu(udev->descriptor.bcdDevice) > 0x997)
1057 set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks);

--- 202 unchanged lines hidden ---
1050 }
1051
1052 if (id->driver_info & BTUSB_SNIFFER) {
1053 struct usb_device *udev = data->udev;
1054
1055 /* New sniffer firmware has crippled HCI interface */
1056 if (le16_to_cpu(udev->descriptor.bcdDevice) > 0x997)
1057 set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks);

--- 202 unchanged lines hidden ---