[PATCH] P2P: Failed to send the GO Negotiation Response

Jouni Malinen j at w1.fi
Wed Nov 24 08:02:37 EST 2010


On Wed, Nov 24, 2010 at 04:49:52PM +0900, Masashi Honma wrote:
> After those, P2P client sent GO negotiation request frame. After
> that, P2P GO sent GO negotiation response frame. I could see these
> frames on the air by caputuring. But the P2P GO side console said
> "P2P: Failed to send the pending Action frame".

> diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
> @@ -5581,7 +5581,8 @@ static int wpa_driver_nl80211_send_action(void *priv, unsigned int freq,
>  	if (drv->nlmode == NL80211_IFTYPE_AP)
> -		ret = wpa_driver_nl80211_send_mlme(priv, buf, 24 + data_len);
> +		ret = wpa_driver_nl80211_send_mlme(priv, buf, 24 + data_len)
> +			< 0;

Thanks! I would assume this would actually need to be "< 0 ? -1 : 0"
since 1 is not a valid error code either. Anyway, driver.h specifies
that 0 is used as the success code in all send functions, so I just
changed wpa_driver_nl80211_send_frame() to return 0 instead of number
of bytes sent to address all the locations. This particular one happened
to one of the few where the caller did not use "< 0" check for error.

-- 
Jouni Malinen                                            PGP id EFC895FA


More information about the HostAP mailing list