diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2016-10-26 10:28:23 -0200 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2016-10-26 10:28:23 -0200 |
commit | d7568534f54f5eb1efa4143ba09a77116f964c80 (patch) | |
tree | f0baf6887b0634658ca57ce2cdfda7b5355a7df7 /drivers/net | |
parent | 34002442b17af7220fa52b2d153db90685113947 (diff) | |
parent | 9ca365c0c8bdd8552ec064f0e696600cf7ea66dd (diff) |
Merge tag 'v4.1.35' into 4.1-2.0.x-imx
Linux 4.1.35
* tag 'v4.1.35': (98 commits)
Linux 4.1.35
xhci: fix usb2 resume timing and races.
mm: remove gup_flags FOLL_WRITE games from __get_user_pages()
timekeeping: Fix __ktime_get_fast_ns() regression
time: Add cycles to nanoseconds translation
Linux 4.1.34
openrisc: fix the fix of copy_from_user()
avr32: fix 'undefined reference to `___copy_from_user'
fix memory leaks in tracing_buffers_splice_read()
tracing: Move mutex to protect against resetting of seq data
MIPS: SMP: Fix possibility of deadlock when bringing CPUs online
MIPS: Fix pre-r6 emulation FPU initialisation
btrfs: ensure that file descriptor used with subvol ioctls is a dir
fix fault_in_multipages_...() on architectures with no-op access_ok()
ocfs2: fix start offset to ocfs2_zero_range_for_truncate()
fanotify: fix list corruption in fanotify_get_response()
fsnotify: add a way to stop queueing events on group shutdown
autofs: use dentry flags to block walks during expire
autofs races
ocfs2/dlm: fix race between convert and migration
...
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/can/flexcan.c | 21 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 8 |
2 files changed, 13 insertions, 16 deletions
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index e635702f679e..f2178344bbb1 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -1376,8 +1376,12 @@ static int __maybe_unused flexcan_suspend(struct device *device) { struct net_device *dev = dev_get_drvdata(device); struct flexcan_priv *priv = netdev_priv(dev); + int err; if (netif_running(dev)) { + err = flexcan_chip_disable(priv); + if (err) + return err; netif_stop_queue(dev); netif_device_detach(dev); /* @@ -1402,24 +1406,17 @@ static int __maybe_unused flexcan_resume(struct device *device) { struct net_device *dev = dev_get_drvdata(device); struct flexcan_priv *priv = netdev_priv(dev); - int err = 0; - - pinctrl_pm_select_default_state(device); + int err; priv->can.state = CAN_STATE_ERROR_ACTIVE; if (netif_running(dev)) { netif_device_attach(dev); netif_start_queue(dev); - - if (device_may_wakeup(device)) { - disable_irq_wake(dev->irq); - flexcan_exit_stop_mode(priv); - } - - err = flexcan_chip_start(dev); + err = flexcan_chip_enable(priv); + if (err) + return err; } - - return err; + return 0; } static SIMPLE_DEV_PM_OPS(flexcan_pm_ops, flexcan_suspend, flexcan_resume); diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index d5f2fbf62d72..534b2b87bd5d 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -1541,13 +1541,13 @@ static int ath9k_sta_state(struct ieee80211_hw *hw, struct ath_common *common = ath9k_hw_common(sc->sc_ah); int ret = 0; - if (old_state == IEEE80211_STA_AUTH && - new_state == IEEE80211_STA_ASSOC) { + if (old_state == IEEE80211_STA_NOTEXIST && + new_state == IEEE80211_STA_NONE) { ret = ath9k_sta_add(hw, vif, sta); ath_dbg(common, CONFIG, "Add station: %pM\n", sta->addr); - } else if (old_state == IEEE80211_STA_ASSOC && - new_state == IEEE80211_STA_AUTH) { + } else if (old_state == IEEE80211_STA_NONE && + new_state == IEEE80211_STA_NOTEXIST) { ret = ath9k_sta_remove(hw, vif, sta); ath_dbg(common, CONFIG, "Remove station: %pM\n", sta->addr); |