dm9000: clean up reset code
authorAndrew Ruder <andrew.ruder@elecsyscorp.com>
Wed, 4 Jun 2014 22:28:45 +0000 (17:28 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Jun 2014 22:12:10 +0000 (15:12 -0700)
commit751bb6fd80b728d4820e0176837bc2c5e339e358
treebdb5d20571c7cf8741f4cc8739867d5237d21d64
parent6b50d038e7c668eb60b18c2fba8982a22e36527e
dm9000: clean up reset code

* 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:

    09ee9f8 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
  09ee9f8 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: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/davicom/dm9000.c