fastboot: Let "fastboot devices" work in all cases
Ignore ANDROID_SERIAL when requesting to list devices, or else it is impossible to list devices without unsetting the env var. Even ANDROID_SERIAL= fastboot devices or fastboot -s "" devices won't work. Change-Id: Ie92f35bda852c6ecea4ebaefb75b8f18c10b6d0c
This commit is contained in:
parent
845f106a93
commit
a032dedefe
|
@ -150,6 +150,11 @@ oops:
|
|||
#endif
|
||||
|
||||
int match_fastboot(usb_ifc_info *info)
|
||||
{
|
||||
return match_fastboot_with_serial(info, serial);
|
||||
}
|
||||
|
||||
int match_fastboot_with_serial(usb_ifc_info *info, const char *local_serial)
|
||||
{
|
||||
if(!(vendor_id && (info->dev_vendor == vendor_id)) &&
|
||||
(info->dev_vendor != 0x18d1) && // Google
|
||||
|
@ -170,14 +175,14 @@ int match_fastboot(usb_ifc_info *info)
|
|||
if(info->ifc_protocol != 0x03) return -1;
|
||||
// require matching serial number or device path if requested
|
||||
// at the command line with the -s option.
|
||||
if (serial && (strcmp(serial, info->serial_number) != 0 &&
|
||||
strcmp(serial, info->device_path) != 0)) return -1;
|
||||
if (local_serial && (strcmp(local_serial, info->serial_number) != 0 &&
|
||||
strcmp(local_serial, info->device_path) != 0)) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int list_devices_callback(usb_ifc_info *info)
|
||||
{
|
||||
if (match_fastboot(info) == 0) {
|
||||
if (match_fastboot_with_serial(info, NULL) == 0) {
|
||||
char* serial = info->serial_number;
|
||||
if (!info->writable) {
|
||||
serial = "no permissions"; // like "adb devices"
|
||||
|
|
Loading…
Reference in New Issue