--- linux-2.6.30.4.orig/drivers/bluetooth/btusb.c	2009-07-30 15:34:47.000000000 -0700
+++ linux-2.6.30.4/drivers/bluetooth/btusb.c	2010-04-01 13:07:27.000000000 -0700
@@ -43,6 +43,9 @@
 static int disable_scofix;
 static int force_scofix;
 
+static int no_ooma_check;
+#define OOMA_VENDOR_ID  0x226a
+
 static int reset = 1;
 
 static struct usb_driver btusb_driver;
@@ -745,6 +748,19 @@
 	}
 }
 
+static int match_ooma_vendor_id(struct usb_interface *interface)
+{
+    struct usb_device *dev;
+
+    dev = interface_to_usbdev(interface);
+    BT_INFO("USB dongle has vendor id (%d)", dev->descriptor.idVendor);   
+    if (OOMA_VENDOR_ID == dev->descriptor.idVendor) 
+        return 1;
+        
+    BT_ERR("vendor id (%d) is not supported", dev->descriptor.idVendor);    
+    return 0;
+}
+
 static int btusb_probe(struct usb_interface *intf,
 				const struct usb_device_id *id)
 {
@@ -777,6 +793,9 @@
 
 	if (ignore_sniffer && id->driver_info & BTUSB_SNIFFER)
 		return -ENODEV;
+        
+    if (no_ooma_check == 0 && match_ooma_vendor_id(intf) == 0)
+        return -ENODEV;
 
 	data = kzalloc(sizeof(*data), GFP_KERNEL);
 	if (!data)
@@ -1046,6 +1065,9 @@
 module_param(reset, bool, 0644);
 MODULE_PARM_DESC(reset, "Send HCI reset command on initialization");
 
+module_param(no_ooma_check, bool, 0644);
+MODULE_PARM_DESC(no_ooma_check, "Ignore OOMA device vendor id check");
+
 MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
 MODULE_DESCRIPTION("Generic Bluetooth USB driver ver " VERSION);
 MODULE_VERSION(VERSION);
