From: Vinay K Nallamothu The patch below fixes two pointer reference bugs (shows up as compile time warnings given below) which wrongly take the address of "struct usb_interface*". ============compiler warning============================ drivers/bluetooth/hci_usb.c: In function `hci_usb_probe': drivers/bluetooth/hci_usb.c:786: warning: assignment from incompatible pointer type drivers/bluetooth/hci_usb.c:810: warning: assignment from incompatible pointer type ========================================================================= drivers/bluetooth/hci_usb.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/bluetooth/hci_usb.c~bluetooth-deref-fix drivers/bluetooth/hci_usb.c --- 25/drivers/bluetooth/hci_usb.c~bluetooth-deref-fix 2003-08-09 15:22:19.000000000 -0700 +++ 25-akpm/drivers/bluetooth/hci_usb.c 2003-08-09 15:22:19.000000000 -0700 @@ -783,7 +783,7 @@ int hci_usb_probe(struct usb_interface * BT_DBG("udev %p ifnum %d", udev, ifnum); - iface = &udev->actconfig->interface[0]; + iface = udev->actconfig->interface[0]; /* Check our black list */ if (usb_match_id(intf, ignore_ids)) @@ -807,7 +807,7 @@ int hci_usb_probe(struct usb_interface * ifn = min_t(unsigned int, udev->actconfig->desc.bNumInterfaces, HCI_MAX_IFACE_NUM); for (i = 0; i < ifn; i++) { - iface = &udev->actconfig->interface[i]; + iface = udev->actconfig->interface[i]; for (a = 0; a < iface->num_altsetting; a++) { uif = &iface->altsetting[a]; for (e = 0; e < uif->desc.bNumEndpoints; e++) { _