pm.c (97af743207466ff8b477e14bfb7af0ba2c93375b) | pm.c (42935ecaf4e784d0815afa9a7e5fe7e141157ca3) |
---|---|
1#include <net/mac80211.h> 2#include <net/rtnetlink.h> 3 4#include "ieee80211_i.h" 5#include "mesh.h" 6#include "driver-ops.h" 7#include "led.h" 8 --- 12 unchanged lines hidden (view full) --- 21 22 /* flush out all packets */ 23 synchronize_net(); 24 25 local->quiescing = true; 26 /* make quiescing visible to timers everywhere */ 27 mb(); 28 | 1#include <net/mac80211.h> 2#include <net/rtnetlink.h> 3 4#include "ieee80211_i.h" 5#include "mesh.h" 6#include "driver-ops.h" 7#include "led.h" 8 --- 12 unchanged lines hidden (view full) --- 21 22 /* flush out all packets */ 23 synchronize_net(); 24 25 local->quiescing = true; 26 /* make quiescing visible to timers everywhere */ 27 mb(); 28 |
29 flush_workqueue(local->hw.workqueue); | 29 flush_workqueue(local->workqueue); |
30 31 /* Don't try to run timers while suspended. */ 32 del_timer_sync(&local->sta_cleanup); 33 34 /* 35 * Note that this particular timer doesn't need to be 36 * restarted at resume. 37 */ --- 74 unchanged lines hidden (view full) --- 112 drv_stop(local); 113 } 114 115 /* 116 * flush again, in case driver queued work -- it 117 * shouldn't be doing (or cancel everything in the 118 * stop callback) that but better safe than sorry. 119 */ | 30 31 /* Don't try to run timers while suspended. */ 32 del_timer_sync(&local->sta_cleanup); 33 34 /* 35 * Note that this particular timer doesn't need to be 36 * restarted at resume. 37 */ --- 74 unchanged lines hidden (view full) --- 112 drv_stop(local); 113 } 114 115 /* 116 * flush again, in case driver queued work -- it 117 * shouldn't be doing (or cancel everything in the 118 * stop callback) that but better safe than sorry. 119 */ |
120 flush_workqueue(local->hw.workqueue); | 120 flush_workqueue(local->workqueue); |
121 122 local->suspended = true; 123 /* need suspended to be visible before quiescing is false */ 124 barrier(); 125 local->quiescing = false; 126 127 return 0; 128} 129 130/* 131 * __ieee80211_resume() is a static inline which just calls 132 * ieee80211_reconfig(), which is also needed for hardware 133 * hang/firmware failure/etc. recovery. 134 */ | 121 122 local->suspended = true; 123 /* need suspended to be visible before quiescing is false */ 124 barrier(); 125 local->quiescing = false; 126 127 return 0; 128} 129 130/* 131 * __ieee80211_resume() is a static inline which just calls 132 * ieee80211_reconfig(), which is also needed for hardware 133 * hang/firmware failure/etc. recovery. 134 */ |