]> git.karo-electronics.de Git - linux-beck.git/commitdiff
Bluetooth: Move bit-field variable in USB driver to data->flags
authorGustavo F. Padovan <padovan@profusion.mobi>
Fri, 16 Jul 2010 20:20:33 +0000 (17:20 -0300)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 21 Jul 2010 17:39:12 +0000 (10:39 -0700)
did_iso_resume keeps only a bit-field value, so moving that to a proper
flags place.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btusb.c

index 6fcb97124be80f2f46605921b449893036b57fea..d22ce3cc611e7bb60f0377ff344fa41fb7bde2db 100644 (file)
@@ -149,6 +149,7 @@ static struct usb_device_id blacklist_table[] = {
 #define BTUSB_BULK_RUNNING     1
 #define BTUSB_ISOC_RUNNING     2
 #define BTUSB_SUSPENDING       3
+#define BTUSB_DID_ISO_RESUME   4
 
 struct btusb_data {
        struct hci_dev       *hdev;
@@ -182,7 +183,6 @@ struct btusb_data {
        unsigned int sco_num;
        int isoc_altsetting;
        int suspend_count;
-       int did_iso_resume:1;
 };
 
 static int inc_tx(struct btusb_data *data)
@@ -810,7 +810,7 @@ static void btusb_work(struct work_struct *work)
        int err;
 
        if (hdev->conn_hash.sco_num > 0) {
-               if (!data->did_iso_resume) {
+               if (!test_bit(BTUSB_DID_ISO_RESUME, &data->flags)) {
                        err = usb_autopm_get_interface(data->isoc);
                        if (err < 0) {
                                clear_bit(BTUSB_ISOC_RUNNING, &data->flags);
@@ -818,7 +818,7 @@ static void btusb_work(struct work_struct *work)
                                return;
                        }
 
-                       data->did_iso_resume = 1;
+                       set_bit(BTUSB_DID_ISO_RESUME, &data->flags);
                }
                if (data->isoc_altsetting != 2) {
                        clear_bit(BTUSB_ISOC_RUNNING, &data->flags);
@@ -839,10 +839,8 @@ static void btusb_work(struct work_struct *work)
                usb_kill_anchored_urbs(&data->isoc_anchor);
 
                __set_isoc_interface(hdev, 0);
-               if (data->did_iso_resume) {
-                       data->did_iso_resume = 0;
+               if (test_and_clear_bit(BTUSB_DID_ISO_RESUME, &data->flags))
                        usb_autopm_put_interface(data->isoc);
-               }
        }
 }