Search Linux Wireless

Re: [PATCH 2/5] brcmfmac: remove "arp_hostip_clear" from "brcmf_netdev_stop"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2018/11/9 上午 03:19, Franky Lin wrote:
> On Wed, Nov 7, 2018 at 7:48 PM Chi-Hsien Lin <Chi-Hsien.Lin@xxxxxxxxxxx> wrote:
>>
>> From: Wright Feng <wright.feng@xxxxxxxxxxx>
>>
>> The firmware does not respond ARP request and causes ping failure with
>> following steps:
>>
>> 1. Bring up interface
>>     ifconfig wlan0 up or start wpa_supplicant
>> 2. Set the IP address
>>     ifconfig wlan0 192.168.100.10
>> 3. Bring down interface or
>>     ifconfig wlan0 down or kill wpa_supplicant
>> 4. Bring up interface again and set the same IP address
>> 5. Connect to AP(192.168.100.1) and ping to AP will be failed.
>>
>> FMAC clears arp_hostip when bringing down the interface, but not set it
>> back if setting the same IP address. We are able to see the IP address
>> in interface info(inconfig wlan0) but the ping still cannot work because
>> the firmware ARP offload does not respond the ARP request.
>> Because of that, we remove "arp_hostip_clear" from function
>> "brcmf_netdev_stop"
> 
> Shouldn't brcmf_inetaddr_changed get called when the interface up again?
> 
> Thanks,
> - Franky
> 
The brcmf_inetaddr_changed only be called in inet_del_ifa and
inet_insert_ifa. If the IP address is not changed when the interface up
again, the brcmf_inetaddr_changed will not be called.

-Wright
>>
>> Signed-off-by: Wright Feng <wright.feng@xxxxxxxxxxx>
>> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@xxxxxxxxxxx>
>> ---
>>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
>> index b1f702faff4f..e1666cf3801c 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
>> @@ -533,8 +533,6 @@ static int brcmf_netdev_stop(struct net_device *ndev)
>>
>>          brcmf_cfg80211_down(ndev);
>>
>> -       brcmf_fil_iovar_data_set(ifp, "arp_hostip_clear", NULL, 0);
>> -
>>          brcmf_net_setcarrier(ifp, false);
>>
>>          return 0;
>> --
>> 2.1.0
>>
> 
> 
> ----------
> 
> You're receiving this message because you're a member of the brcm80211-dev-list group.
> 




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux