Johannes Berg says: ==================== A few changes: * fix a debugfs vs. wiphy rename crash * fix an invalid HE spec definition * fix a mesh timer crash ====================
Unified · Split
| @@ -2047,7 +2047,7 @@ ieee80211_he_ppe_size(u8 ppe_thres_hdr, const u8 *phy_cap_info) · 2046 unmodified lines | ||
| 2047 | 2047 | } |
| 2048 | 2048 | |
| 2049 | 2049 | /* HE Operation defines */ |
| 2050 | −#define IEEE80211_HE_OPERATION_DFLT_PE_DURATION_MASK 0x00000003 | |
| 2050 | +#define IEEE80211_HE_OPERATION_DFLT_PE_DURATION_MASK 0x00000007 | |
| 2051 | 2051 | #define IEEE80211_HE_OPERATION_TWT_REQUIRED 0x00000008 |
| 2052 | 2052 | #define IEEE80211_HE_OPERATION_RTS_THRESHOLD_MASK 0x00003ff0 |
| 2053 | 2053 | #define IEEE80211_HE_OPERATION_RTS_THRESHOLD_OFFSET 4 |
| @@ -1103,7 +1103,14 @@ void mesh_path_start_discovery(struct ieee80211_sub_if_data *sdata) · 1102 unmodified lines | ||
| 1103 | 1103 | mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn, |
| 1104 | 1104 | target_flags, mpath->dst, mpath->sn, da, 0, |
| 1105 | 1105 | ttl, lifetime, 0, ifmsh->preq_id++, sdata); |
| 1106 | + | |
| 1107 | + spin_lock_bh(&mpath->state_lock); | |
| 1108 | + if (mpath->flags & MESH_PATH_DELETED) { | |
| 1109 | + spin_unlock_bh(&mpath->state_lock); | |
| 1110 | + goto enddiscovery; | |
| 1111 | + } | |
| 1106 | 1112 | mod_timer(&mpath->timer, jiffies + mpath->discovery_timeout); |
| 1113 | + spin_unlock_bh(&mpath->state_lock); | |
| 1107 | 1114 | |
| 1108 | 1115 | enddiscovery: |
| 1109 | 1116 | rcu_read_unlock(); |
| @@ -142,7 +142,7 @@ int cfg80211_dev_rename(struct cfg80211_registered_device *rdev, · 141 unmodified lines | ||
| 142 | 142 | if (result) |
| 143 | 143 | return result; |
| 144 | 144 | |
| 145 | − if (rdev->wiphy.debugfsdir) | |
| 145 | + if (!IS_ERR_OR_NULL(rdev->wiphy.debugfsdir)) | |
| 146 | 146 | debugfs_rename(rdev->wiphy.debugfsdir->d_parent, |
| 147 | 147 | rdev->wiphy.debugfsdir, |
| 148 | 148 | rdev->wiphy.debugfsdir->d_parent, newname); |