• Stefan Richter's avatar
    firewire: core: ignore link-active bit of new nodes, fix device recognition · 115881d3
    Stefan Richter authored
    Like the older ieee1394 core driver, firewire-core skipped scanning of
    any new node whose PHY sent a self ID without "link active" bit.  If a
    device had this bit off mistakenly, it meant that it was inaccessible to
    kernel drivers with the old IEEE 1394 driver stack but could still be
    accessed by userspace drivers through the raw1394 interface.
    
    But with firewire-core, userspace drivers don't get to see such buggy
    devices anymore.  This is effectively a driver regression since this
    device bug is otherwise harmless.
    
    We now attempt to scan all devices, even repeaters that don't have a
    link or powered-down devices that have everything but their PHY shut
    down when plugged in.  This results in futile repeated scanning attempts
    in case of such devices that really don't have an active link, but this
    doesn't hurt since recent workqueue infrastructure lets us run more
    concurrent scanning jobs than we can shake a stick at.
    
    This should fix accessibility of Focusrite Saffire PRO 26 I/O:
    http://sourceforge.net/mailarchive/forum.php?thread_name=20110314215622.5c751bb0%40stein&forum_name=ffado-userSigned-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    115881d3
core-device.c 32.9 KB