diff options
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r-- | drivers/bluetooth/bcm203x.c | 7 | ||||
-rw-r--r-- | drivers/bluetooth/bluecard_cs.c | 38 | ||||
-rw-r--r-- | drivers/bluetooth/bt3c_cs.c | 20 | ||||
-rw-r--r-- | drivers/bluetooth/btuart_cs.c | 20 | ||||
-rw-r--r-- | drivers/bluetooth/dtl1_cs.c | 20 | ||||
-rw-r--r-- | drivers/bluetooth/hci_bcsp.c | 4 |
6 files changed, 10 insertions, 99 deletions
diff --git a/drivers/bluetooth/bcm203x.c b/drivers/bluetooth/bcm203x.c index 516751754aa9..9256985cbe36 100644 --- a/drivers/bluetooth/bcm203x.c +++ b/drivers/bluetooth/bcm203x.c | |||
@@ -157,9 +157,10 @@ static void bcm203x_complete(struct urb *urb) | |||
157 | } | 157 | } |
158 | } | 158 | } |
159 | 159 | ||
160 | static void bcm203x_work(void *user_data) | 160 | static void bcm203x_work(struct work_struct *work) |
161 | { | 161 | { |
162 | struct bcm203x_data *data = user_data; | 162 | struct bcm203x_data *data = |
163 | container_of(work, struct bcm203x_data, work); | ||
163 | 164 | ||
164 | if (usb_submit_urb(data->urb, GFP_ATOMIC) < 0) | 165 | if (usb_submit_urb(data->urb, GFP_ATOMIC) < 0) |
165 | BT_ERR("Can't submit URB"); | 166 | BT_ERR("Can't submit URB"); |
@@ -246,7 +247,7 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id | |||
246 | 247 | ||
247 | release_firmware(firmware); | 248 | release_firmware(firmware); |
248 | 249 | ||
249 | INIT_WORK(&data->work, bcm203x_work, (void *) data); | 250 | INIT_WORK(&data->work, bcm203x_work); |
250 | 251 | ||
251 | usb_set_intfdata(intf, data); | 252 | usb_set_intfdata(intf, data); |
252 | 253 | ||
diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c index cbc07250b898..acfb6a430dcc 100644 --- a/drivers/bluetooth/bluecard_cs.c +++ b/drivers/bluetooth/bluecard_cs.c | |||
@@ -892,43 +892,10 @@ static void bluecard_detach(struct pcmcia_device *link) | |||
892 | } | 892 | } |
893 | 893 | ||
894 | 894 | ||
895 | static int first_tuple(struct pcmcia_device *handle, tuple_t *tuple, cisparse_t *parse) | ||
896 | { | ||
897 | int i; | ||
898 | |||
899 | i = pcmcia_get_first_tuple(handle, tuple); | ||
900 | if (i != CS_SUCCESS) | ||
901 | return CS_NO_MORE_ITEMS; | ||
902 | |||
903 | i = pcmcia_get_tuple_data(handle, tuple); | ||
904 | if (i != CS_SUCCESS) | ||
905 | return i; | ||
906 | |||
907 | return pcmcia_parse_tuple(handle, tuple, parse); | ||
908 | } | ||
909 | |||
910 | static int bluecard_config(struct pcmcia_device *link) | 895 | static int bluecard_config(struct pcmcia_device *link) |
911 | { | 896 | { |
912 | bluecard_info_t *info = link->priv; | 897 | bluecard_info_t *info = link->priv; |
913 | tuple_t tuple; | 898 | int i, n; |
914 | u_short buf[256]; | ||
915 | cisparse_t parse; | ||
916 | int i, n, last_ret, last_fn; | ||
917 | |||
918 | tuple.TupleData = (cisdata_t *)buf; | ||
919 | tuple.TupleOffset = 0; | ||
920 | tuple.TupleDataMax = 255; | ||
921 | tuple.Attributes = 0; | ||
922 | |||
923 | /* Get configuration register information */ | ||
924 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
925 | last_ret = first_tuple(link, &tuple, &parse); | ||
926 | if (last_ret != CS_SUCCESS) { | ||
927 | last_fn = ParseTuple; | ||
928 | goto cs_failed; | ||
929 | } | ||
930 | link->conf.ConfigBase = parse.config.base; | ||
931 | link->conf.Present = parse.config.rmask[0]; | ||
932 | 899 | ||
933 | link->conf.ConfigIndex = 0x20; | 900 | link->conf.ConfigIndex = 0x20; |
934 | link->io.NumPorts1 = 64; | 901 | link->io.NumPorts1 = 64; |
@@ -966,9 +933,6 @@ static int bluecard_config(struct pcmcia_device *link) | |||
966 | 933 | ||
967 | return 0; | 934 | return 0; |
968 | 935 | ||
969 | cs_failed: | ||
970 | cs_error(link, last_fn, last_ret); | ||
971 | |||
972 | failed: | 936 | failed: |
973 | bluecard_release(link); | 937 | bluecard_release(link); |
974 | return -ENODEV; | 938 | return -ENODEV; |
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c index 3a96a0babc6a..aae3abace586 100644 --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c | |||
@@ -713,22 +713,7 @@ static int bt3c_config(struct pcmcia_device *link) | |||
713 | u_short buf[256]; | 713 | u_short buf[256]; |
714 | cisparse_t parse; | 714 | cisparse_t parse; |
715 | cistpl_cftable_entry_t *cf = &parse.cftable_entry; | 715 | cistpl_cftable_entry_t *cf = &parse.cftable_entry; |
716 | int i, j, try, last_ret, last_fn; | 716 | int i, j, try; |
717 | |||
718 | tuple.TupleData = (cisdata_t *)buf; | ||
719 | tuple.TupleOffset = 0; | ||
720 | tuple.TupleDataMax = 255; | ||
721 | tuple.Attributes = 0; | ||
722 | |||
723 | /* Get configuration register information */ | ||
724 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
725 | last_ret = first_tuple(link, &tuple, &parse); | ||
726 | if (last_ret != CS_SUCCESS) { | ||
727 | last_fn = ParseTuple; | ||
728 | goto cs_failed; | ||
729 | } | ||
730 | link->conf.ConfigBase = parse.config.base; | ||
731 | link->conf.Present = parse.config.rmask[0]; | ||
732 | 717 | ||
733 | /* First pass: look for a config entry that looks normal. */ | 718 | /* First pass: look for a config entry that looks normal. */ |
734 | tuple.TupleData = (cisdata_t *)buf; | 719 | tuple.TupleData = (cisdata_t *)buf; |
@@ -802,9 +787,6 @@ found_port: | |||
802 | 787 | ||
803 | return 0; | 788 | return 0; |
804 | 789 | ||
805 | cs_failed: | ||
806 | cs_error(link, last_fn, last_ret); | ||
807 | |||
808 | failed: | 790 | failed: |
809 | bt3c_release(link); | 791 | bt3c_release(link); |
810 | return -ENODEV; | 792 | return -ENODEV; |
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c index 3b29086b7c3f..92648ef2f5d0 100644 --- a/drivers/bluetooth/btuart_cs.c +++ b/drivers/bluetooth/btuart_cs.c | |||
@@ -644,22 +644,7 @@ static int btuart_config(struct pcmcia_device *link) | |||
644 | u_short buf[256]; | 644 | u_short buf[256]; |
645 | cisparse_t parse; | 645 | cisparse_t parse; |
646 | cistpl_cftable_entry_t *cf = &parse.cftable_entry; | 646 | cistpl_cftable_entry_t *cf = &parse.cftable_entry; |
647 | int i, j, try, last_ret, last_fn; | 647 | int i, j, try; |
648 | |||
649 | tuple.TupleData = (cisdata_t *)buf; | ||
650 | tuple.TupleOffset = 0; | ||
651 | tuple.TupleDataMax = 255; | ||
652 | tuple.Attributes = 0; | ||
653 | |||
654 | /* Get configuration register information */ | ||
655 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
656 | last_ret = first_tuple(link, &tuple, &parse); | ||
657 | if (last_ret != CS_SUCCESS) { | ||
658 | last_fn = ParseTuple; | ||
659 | goto cs_failed; | ||
660 | } | ||
661 | link->conf.ConfigBase = parse.config.base; | ||
662 | link->conf.Present = parse.config.rmask[0]; | ||
663 | 648 | ||
664 | /* First pass: look for a config entry that looks normal. */ | 649 | /* First pass: look for a config entry that looks normal. */ |
665 | tuple.TupleData = (cisdata_t *) buf; | 650 | tuple.TupleData = (cisdata_t *) buf; |
@@ -734,9 +719,6 @@ found_port: | |||
734 | 719 | ||
735 | return 0; | 720 | return 0; |
736 | 721 | ||
737 | cs_failed: | ||
738 | cs_error(link, last_fn, last_ret); | ||
739 | |||
740 | failed: | 722 | failed: |
741 | btuart_release(link); | 723 | btuart_release(link); |
742 | return -ENODEV; | 724 | return -ENODEV; |
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c index 07eafbc5dc3a..77b99eecbc49 100644 --- a/drivers/bluetooth/dtl1_cs.c +++ b/drivers/bluetooth/dtl1_cs.c | |||
@@ -626,22 +626,7 @@ static int dtl1_config(struct pcmcia_device *link) | |||
626 | u_short buf[256]; | 626 | u_short buf[256]; |
627 | cisparse_t parse; | 627 | cisparse_t parse; |
628 | cistpl_cftable_entry_t *cf = &parse.cftable_entry; | 628 | cistpl_cftable_entry_t *cf = &parse.cftable_entry; |
629 | int i, last_ret, last_fn; | 629 | int i; |
630 | |||
631 | tuple.TupleData = (cisdata_t *)buf; | ||
632 | tuple.TupleOffset = 0; | ||
633 | tuple.TupleDataMax = 255; | ||
634 | tuple.Attributes = 0; | ||
635 | |||
636 | /* Get configuration register information */ | ||
637 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
638 | last_ret = first_tuple(link, &tuple, &parse); | ||
639 | if (last_ret != CS_SUCCESS) { | ||
640 | last_fn = ParseTuple; | ||
641 | goto cs_failed; | ||
642 | } | ||
643 | link->conf.ConfigBase = parse.config.base; | ||
644 | link->conf.Present = parse.config.rmask[0]; | ||
645 | 630 | ||
646 | tuple.TupleData = (cisdata_t *)buf; | 631 | tuple.TupleData = (cisdata_t *)buf; |
647 | tuple.TupleOffset = 0; | 632 | tuple.TupleOffset = 0; |
@@ -690,9 +675,6 @@ static int dtl1_config(struct pcmcia_device *link) | |||
690 | 675 | ||
691 | return 0; | 676 | return 0; |
692 | 677 | ||
693 | cs_failed: | ||
694 | cs_error(link, last_fn, last_ret); | ||
695 | |||
696 | failed: | 678 | failed: |
697 | dtl1_release(link); | 679 | dtl1_release(link); |
698 | return -ENODEV; | 680 | return -ENODEV; |
diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c index d0cface535fb..5e2c31882003 100644 --- a/drivers/bluetooth/hci_bcsp.c +++ b/drivers/bluetooth/hci_bcsp.c | |||
@@ -330,7 +330,7 @@ static struct sk_buff *bcsp_dequeue(struct hci_uart *hu) | |||
330 | reliable packet if the number of packets sent but not yet ack'ed | 330 | reliable packet if the number of packets sent but not yet ack'ed |
331 | is < than the winsize */ | 331 | is < than the winsize */ |
332 | 332 | ||
333 | spin_lock_irqsave(&bcsp->unack.lock, flags); | 333 | spin_lock_irqsave_nested(&bcsp->unack.lock, flags, SINGLE_DEPTH_NESTING); |
334 | 334 | ||
335 | if (bcsp->unack.qlen < BCSP_TXWINSIZE && (skb = skb_dequeue(&bcsp->rel)) != NULL) { | 335 | if (bcsp->unack.qlen < BCSP_TXWINSIZE && (skb = skb_dequeue(&bcsp->rel)) != NULL) { |
336 | struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, bt_cb(skb)->pkt_type); | 336 | struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, bt_cb(skb)->pkt_type); |
@@ -696,7 +696,7 @@ static void bcsp_timed_event(unsigned long arg) | |||
696 | 696 | ||
697 | BT_DBG("hu %p retransmitting %u pkts", hu, bcsp->unack.qlen); | 697 | BT_DBG("hu %p retransmitting %u pkts", hu, bcsp->unack.qlen); |
698 | 698 | ||
699 | spin_lock_irqsave(&bcsp->unack.lock, flags); | 699 | spin_lock_irqsave_nested(&bcsp->unack.lock, flags, SINGLE_DEPTH_NESTING); |
700 | 700 | ||
701 | while ((skb = __skb_dequeue_tail(&bcsp->unack)) != NULL) { | 701 | while ((skb = __skb_dequeue_tail(&bcsp->unack)) != NULL) { |
702 | bcsp->msgq_txseq = (bcsp->msgq_txseq - 1) & 0x07; | 702 | bcsp->msgq_txseq = (bcsp->msgq_txseq - 1) & 0x07; |