As mwifiex (and mac80211 in the software case) are the only drivers actually implementing remain-on-channel with channel type, userspace can't be relying on it. This is the case, as it's used only for P2P operations right now. Rather than adding a flag to tell userspace whether or not it can actually rely on it, simplify all the code by removing the ability to use different channel types. Leave only the validation of the attribute, so that if we extend it again later (with the needed capability flag), it can't break userspace sending invalid data.
Showing the changes to include/uapi/linux (1 of 24 files). Show all
Unified · Split
| @@ -401,8 +401,7 @@ · 400 unmodified lines | |||
| 401 | * a response while being associated to an AP on another channel. | 401 | * a response while being associated to an AP on another channel. |
| 402 | * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus | 402 | * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus |
| 403 | * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the | 403 | * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the |
| 404 | * frequency for the operation and %NL80211_ATTR_WIPHY_CHANNEL_TYPE may be | 404 | * frequency for the operation. |
| 405 | * optionally used to specify additional channel parameters. | ||
| 406 | * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds | 405 | * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds |
| 407 | * to remain on the channel. This command is also used as an event to | 406 | * to remain on the channel. This command is also used as an event to |
| 408 | * notify when the requested duration starts (it may take a while for the | 407 | * notify when the requested duration starts (it may take a while for the |
| @@ -440,12 +439,11 @@ · 31 unmodified lines | |||
| 440 | * as an event indicating reception of a frame that was not processed in | 439 | * as an event indicating reception of a frame that was not processed in |
| 441 | * kernel code, but is for us (i.e., which may need to be processed in a | 440 | * kernel code, but is for us (i.e., which may need to be processed in a |
| 442 | * user space application). %NL80211_ATTR_FRAME is used to specify the | 441 | * user space application). %NL80211_ATTR_FRAME is used to specify the |
| 443 | * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and | 442 | * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used |
| 444 | * optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on | 443 | * to indicate on which channel the frame is to be transmitted or was |
| 445 | * which channel the frame is to be transmitted or was received. If this | 444 | * received. If this channel is not the current channel (remain-on-channel |
| 446 | * channel is not the current channel (remain-on-channel or the | 445 | * or the operational channel) the device will switch to the given channel |
| 447 | * operational channel) the device will switch to the given channel and | 446 | * and transmit the frame, optionally waiting for a response for the time |
| 448 | * transmit the frame, optionally waiting for a response for the time | ||
| 449 | * specified using %NL80211_ATTR_DURATION. When called, this operation | 447 | * specified using %NL80211_ATTR_DURATION. When called, this operation |
| 450 | * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the | 448 | * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the |
| 451 | * TX status event pertaining to the TX request. | 449 | * TX status event pertaining to the TX request. |