nl80211: Use correct u8 size for NL80211_ATTR_SMPS_MODE

Back in December 2017, Jouni fixed the output side since that was
causing a kernel message to be printed, but the input side should
also be fixed, otherwise it will not work correctly on big-endian
platforms.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2018-10-26 15:50:48 +02:00 committed by Jouni Malinen
parent cd676ae34c
commit babdd8d0d9

View file

@ -2271,7 +2271,7 @@ static void nl80211_sta_opmode_change_event(struct wpa_driver_nl80211_data *drv,
ed.sta_opmode.addr = nla_data(tb[NL80211_ATTR_MAC]); ed.sta_opmode.addr = nla_data(tb[NL80211_ATTR_MAC]);
if (tb[NL80211_ATTR_SMPS_MODE]) { if (tb[NL80211_ATTR_SMPS_MODE]) {
smps_mode = nla_get_u32(tb[NL80211_ATTR_SMPS_MODE]); smps_mode = nla_get_u8(tb[NL80211_ATTR_SMPS_MODE]);
switch (smps_mode) { switch (smps_mode) {
case NL80211_SMPS_OFF: case NL80211_SMPS_OFF:
ed.sta_opmode.smps_mode = SMPS_OFF; ed.sta_opmode.smps_mode = SMPS_OFF;