• Nathaniel McCallum's avatar
    USB: add hex/bcd detection to usb modalias generation · afe2dab4
    Nathaniel McCallum authored
    The current code to generate usb modaliases from usb_device_id assumes
    that the device's bcdDevice descriptor will actually be in BCD format.
    While this should be a sane assumption, some devices don't follow spec
    and just use plain old hex.  This causes drivers for these devices to
    generate invalid modalias lines which will never actually match for the
    hardware.
    
    The following patch adds hex support for bcdDevice in file2alias.c by
    detecting when a driver uses a hex formatted bcdDevice_(lo|hi) and
    adjusts the output to hex format accordingly.
    
    Drivers for devices which have bcdDevice conforming to BCD will have no
    change in modalias output.  Drivers for devices which don't conform
    (i.e. ibmcam) should now generate valid modaliases.
    
    EXAMPLE OUTPUT (ibmcam; space added to highlight change)
        Old: usb:v0545p800D d030[10-9] dc*dsc*dp*ic*isc*ip*
        New: usb:v0545p800D d030a      dc*dsc*dp*ic*isc*ip*
    Signed-off-by: default avatarNathaniel McCallum <nathaniel@natemccallum.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    afe2dab4
file2alias.c 27.1 KB