From 676de74d9bf14d6a8db21d65e2cb2f2e4a1e3720 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 14 Dec 2011 02:52:42 +0000 Subject: [PATCH] Don't validate the Device Descriptor's vendor ID when validating that a device is an Android Accessory device; the Product ID and (later) Accessory protocol support is enough to probe AOA class support without having to maintain a list of Android device manufacture VID values. --- Demos/Host/LowLevel/AndroidAccessoryHost/DeviceDescriptor.c | 4 ---- LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h | 3 --- LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c | 3 --- 3 files changed, 10 deletions(-) diff --git a/Demos/Host/LowLevel/AndroidAccessoryHost/DeviceDescriptor.c b/Demos/Host/LowLevel/AndroidAccessoryHost/DeviceDescriptor.c index be6bf10230..4e174f0fcc 100644 --- a/Demos/Host/LowLevel/AndroidAccessoryHost/DeviceDescriptor.c +++ b/Demos/Host/LowLevel/AndroidAccessoryHost/DeviceDescriptor.c @@ -55,10 +55,6 @@ uint8_t ProcessDeviceDescriptor(void) if (DeviceDescriptor.Header.Type != DTYPE_Device) return InvalidDeviceDataReturned; - /* Validate returned device Vendor ID against the Android ADK spec values */ - if (DeviceDescriptor.VendorID != ANDROID_VENDOR_ID) - return IncorrectAndroidDevice; - /* Check the product ID to determine if the Android device is in accessory mode */ if ((DeviceDescriptor.ProductID != ANDROID_ACCESSORY_PRODUCT_ID) && (DeviceDescriptor.ProductID != ANDROID_ACCESSORY_ADB_PRODUCT_ID)) diff --git a/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h b/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h index f78643766e..45e7ca5401 100644 --- a/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h @@ -64,9 +64,6 @@ #endif /* Macros: */ - /** Vendor ID value in a Device Descriptor to indicate an Android device. */ - #define ANDROID_VENDOR_ID 0x18D1 - /** Product ID value in a Device Descriptor to indicate an Android device in Open Accessory mode. */ #define ANDROID_ACCESSORY_PRODUCT_ID 0x2D00 diff --git a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c index 56a913d134..8ff64299f2 100644 --- a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c +++ b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c @@ -44,9 +44,6 @@ bool AOA_Host_ValidateAccessoryDevice(USB_ClassInfo_AOA_Host_t* const AOAInterfa if (DeviceDescriptor->Header.Type != DTYPE_Device) return false; - if (DeviceDescriptor->VendorID != ANDROID_VENDOR_ID) - return false; - *NeedModeSwitch = ((DeviceDescriptor->ProductID != ANDROID_ACCESSORY_PRODUCT_ID) && (DeviceDescriptor->ProductID != ANDROID_ACCESSORY_ADB_PRODUCT_ID));