cfg80211: add P2P Device abstraction
In order to support using a different MAC address for the P2P Device address we must first have a P2P Device abstraction that can be assigned a MAC address. This abstraction will also be useful to support offloading P2P operations to the device, e.g. periodic listen for discoverability. Currently, the driver is responsible for assigning a MAC address to the P2P Device, but this could be changed by allowing a MAC address to be given to the NEW_INTERFACE command. As it has no associated netdev, a P2P Device can only be identified by its wdev identifier but the previous patches allowed using the wdev identifier in various APIs, e.g. remain-on-channel. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@ -105,7 +105,7 @@ cfg80211_get_chan_state(struct wireless_dev *wdev,
|
||||
|
||||
ASSERT_WDEV_LOCK(wdev);
|
||||
|
||||
if (!netif_running(wdev->netdev))
|
||||
if (wdev->netdev && !netif_running(wdev->netdev))
|
||||
return;
|
||||
|
||||
switch (wdev->iftype) {
|
||||
@ -143,6 +143,11 @@ cfg80211_get_chan_state(struct wireless_dev *wdev,
|
||||
case NL80211_IFTYPE_WDS:
|
||||
/* these interface types don't really have a channel */
|
||||
return;
|
||||
case NL80211_IFTYPE_P2P_DEVICE:
|
||||
if (wdev->wiphy->features &
|
||||
NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL)
|
||||
*chanmode = CHAN_MODE_EXCLUSIVE;
|
||||
return;
|
||||
case NL80211_IFTYPE_UNSPECIFIED:
|
||||
case NUM_NL80211_IFTYPES:
|
||||
WARN_ON(1);
|
||||
|
Reference in New Issue
Block a user