• Andrew Ruder's avatar
    dm9000: clean up reset code · 751bb6fd
    Andrew Ruder authored
    * Change a hard-coded 0x3 to NCR_RST | NCR_MAC_LBK in dm9000_reset
    
    * Every single place where dm9000_init_dm9000 was ran, a dm9000_reset
      was called immediately before-hand.  Bring dm9000_reset into
      dm9000_init_dm9000.
    
    * The following commit updated the dm9000_probe reset routine to use NCR_RST
      | NCR_MAC_LBK:
    
        6741f40 DM9000B: driver initialization upgrade
    
      and a later commit added a bug-fix to always reset the chip twice:
    
        09ee9f87 dm9000: Implement full reset of DM9000 network device
    
      Unfortunately, since the changes in 6741f40 were made by replacing the
      dm9000_probe dm9000_reset with the adjusted iow(), the changes in
      09ee9f87 were not incorporated into the dm9000_probe reset.
      Furthermore, it bypassed the requisite reset-delay causing some boards
      to get at least one "read wrong id ..." dev_err message during
      dm9000_probe.
    Signed-off-by: default avatarAndrew Ruder <andrew.ruder@elecsyscorp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    751bb6fd
dm9000.c 40.1 KB