[PATCH v2 01/10] nl80211_driver: Identify if nl80211 is capable of p2p device abstraction

Arend van Spriel arend at broadcom.com
Mon Mar 18 10:30:25 EDT 2013


On 03/17/2013 09:57 PM, David Spinadel wrote:
> From: Nirav Shah <nirav.j2.shah at intel.com>
>
> Check the supported interfaces attribute to identify support for
> a dedicated p2p device interface type. If set update the driver
> capabilities flag to notify the supplicant.
>
> Signed-off-by: David Spinadel <david.spinadel at intel.com>
> ---
>   src/drivers/driver.h         |   12 ++++++++++--
>   src/drivers/driver_nl80211.c |   12 ++++++++++++
>   2 files changed, 22 insertions(+), 2 deletions(-)
>
[...]
> diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
> index b2dc813..cf15603 100644
> --- a/src/drivers/driver_nl80211.c
> +++ b/src/drivers/driver_nl80211.c
> @@ -2557,6 +2557,7 @@ struct wiphy_info_data {
>   	unsigned int p2p_client_supported:1;
>   	unsigned int p2p_concurrent:1;
>   	unsigned int p2p_multichan_concurrent:1;
> +	unsigned int p2p_device_supported:1;
>   };
>
>
> @@ -2600,6 +2601,9 @@ static void wiphy_info_supported_iftypes(struct wiphy_info_data *info,
>   		case NL80211_IFTYPE_P2P_CLIENT:
>   			info->p2p_client_supported = 1;
>   			break;
> +		case NL80211_IFTYPE_P2P_DEVICE:
> +			info->p2p_device_supported = 1;
> +			break;
>   		case NL80211_IFTYPE_MONITOR:
>   			info->monitor_supported = 1;
>   			break;
> @@ -2871,6 +2875,10 @@ static int wpa_driver_nl80211_get_info(struct wpa_driver_nl80211_data *drv,
>
>   	if (info->p2p_go_supported && info->p2p_client_supported)
>   		drv->capa.flags |= WPA_DRIVER_FLAGS_P2P_CAPABLE;
> +
> +	if (p2p_device_supported)

This does not build for obvious reasons. Should be:
+	if (info->p2p_device_supported)

> +		capa->flags |= WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE;
> +
>   	if (info->p2p_concurrent) {
>   		wpa_printf(MSG_DEBUG, "nl80211: Use separate P2P group "
>   			   "interface (driver advertised support)");
> @@ -6168,6 +6176,8 @@ static const char * nl80211_iftype_str(enum nl80211_iftype mode)
>   		return "P2P_CLIENT";
>   	case NL80211_IFTYPE_P2P_GO:
>   		return "P2P_GO";
> +	case NL80211_IFTYPE_P2P_DEVICE:
> +		return "P2P_DEVICE";
>   	default:
>   		return "unknown";
>   	}
> @@ -8336,6 +8346,8 @@ static enum nl80211_iftype wpa_driver_nl80211_if_type(
>   		return NL80211_IFTYPE_AP;
>   	case WPA_IF_P2P_GO:
>   		return NL80211_IFTYPE_P2P_GO;
> +	case WPA_IF_P2P_DEVICE:
> +		return NL80211_IFTYPE_P2P_DEVICE;
>   	}
>   	return -1;
>   }
>




More information about the HostAP mailing list