Kalle Valo says: ==================== wireless-next patches for v5.18 Third set of patches for v5.18. Smaller set this time, support for mt7921u and some work on MBSSID support. Also a workaround for rfkill userspace event. Major changes: mac80211 * MBSSID beacon handling in AP mode rfkill * make new event layout opt-in to workaround buggy user space rtlwifi * support On Networks N150 device id mt76 * mt7915: MBSSID and 6 GHz band support * new driver mt7921u ====================
Showing the changes to include/uapi (1 of 69 files). Show all
Unified · Split
| @@ -159,8 +159,16 @@ struct rfkill_event_ext { · 158 unmodified lines | |||
| 159 | * old behaviour for all userspace, unless it explicitly opts in to the | 159 | * old behaviour for all userspace, unless it explicitly opts in to the |
| 160 | * rules outlined here by using the new &struct rfkill_event_ext. | 160 | * rules outlined here by using the new &struct rfkill_event_ext. |
| 161 | * | 161 | * |
| 162 | * Userspace using &struct rfkill_event_ext must adhere to the following | 162 | * Additionally, some other userspace (bluez, g-s-d) was reading with a |
| 163 | * rules | 163 | * large size but as streaming reads rather than message-based, or with |
| 164 | * too strict checks for the returned size. So eventually, we completely | ||
| 165 | * reverted this, and extended messages need to be opted in to by using | ||
| 166 | * an ioctl: | ||
| 167 | * | ||
| 168 | * ioctl(fd, RFKILL_IOCTL_MAX_SIZE, sizeof(struct rfkill_event_ext)); | ||
| 169 | * | ||
| 170 | * Userspace using &struct rfkill_event_ext and the ioctl must adhere to | ||
| 171 | * the following rules: | ||
| 164 | * | 172 | * |
| 165 | * 1. accept short writes, optionally using them to detect that it's | 173 | * 1. accept short writes, optionally using them to detect that it's |
| 166 | * running on an older kernel; | 174 | * running on an older kernel; |
| @@ -175,6 +183,8 @@ struct rfkill_event_ext { · 8 unmodified lines | |||
| 175 | #define RFKILL_IOC_MAGIC 'R' | 183 | #define RFKILL_IOC_MAGIC 'R' |
| 176 | #define RFKILL_IOC_NOINPUT 1 | 184 | #define RFKILL_IOC_NOINPUT 1 |
| 177 | #define RFKILL_IOCTL_NOINPUT _IO(RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT) | 185 | #define RFKILL_IOCTL_NOINPUT _IO(RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT) |
| 186 | #define RFKILL_IOC_MAX_SIZE 2 | ||
| 187 | #define RFKILL_IOCTL_MAX_SIZE _IOW(RFKILL_IOC_MAGIC, RFKILL_IOC_EXT_SIZE, __u32) | ||
| 178 | 188 | ||
| 179 | /* and that's all userspace gets */ | 189 | /* and that's all userspace gets */ |
| 180 | 190 | ||