MCS7830 USB-Ether: resume _with_ working link, via .reset_resume support
authorAndreas Mohr <andi@lisas.de>
Sun, 31 Jan 2010 02:58:42 +0000 (02:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Feb 2010 02:28:58 +0000 (18:28 -0800)
commitace2a4d0fbf868c00625a8fd91c44ad9fabe7012
tree64c11f1a46591b13c74a5f8b25858e40fa6c257c
parentc774651a5ffc0250f82d72730753f196c86884c5
MCS7830 USB-Ether: resume _with_ working link, via .reset_resume support

ChangeLog:
Implement .reset_resume support to retain a live network connection
during suspend despite USB power loss.
- rework operation to reference cached data in mcs7830_data and
  netdev->dev_addr
- update netdev->dev_addr only in case new MAC was set successfully
. Tests done:
  . ethtool -d pre-/post-suspend: register values match
  . running ssh session suspend, resume: works
  . ifdown device, suspend, resume: works
  . ifup, suspend, unplug, resume: WORKS (eth1 is removed, re-ifup of eth1
    after card replug works)
  . verified identical MAC in ifconfig post-resume
    (ok, should be verified on network side to be fully certain...)

Keywords: suspend resume network connection dead interface down

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/mcs7830.c