• Peter Korsgaard's avatar
    dm9601: fix phy/eeprom write routine · e9162ab1
    Peter Korsgaard authored
    Use correct bit positions in DM_SHARED_CTRL register for writes.
    
    Michael Planes recently encountered a 'KY-RS9600 USB-LAN converter', which
    came with a driver CD containing a Linux driver. This driver turns out to
    be a copy of dm9601.c with symbols renamed and my copyright stripped.
    That aside, it did contain 1 functional change in dm_write_shared_word(),
    and after checking the datasheet the original value was indeed wrong
    (read versus write bits).
    
    On Michaels HW, this change bumps receive speed from ~30KB/s to ~900KB/s.
    On other devices the difference is less spectacular, but still significant
    (~30%).
    Reported-by: default avatarMichael Planes <michael.planes@free.fr>
    CC: stable@kernel.org
    Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e9162ab1
dm9601.c 15.9 KB