[PATCH net-next 6/8] net: ethernet: annapurna: add wol helpers to the Alpine driver

Sergei Shtylyov sergei.shtylyov at cogentembedded.com
Mon Feb 6 04:02:52 PST 2017


On 02/06/2017 02:35 PM, David Laight wrote:

>>> Implement the get_wol() and set_wol() helpers in the Annapurna Labs
>>> Alpine Ethernet driver.
>>> ---
>>>  drivers/net/ethernet/annapurna/al_eth.c | 44 +++++++++++++++++++++++++++++++++
>>>  1 file changed, 44 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/annapurna/al_eth.c b/drivers/net/ethernet/annapurna/al_eth.c
>>> index 8dd84f66b5d1..d06a75a49ce5 100644
>>> --- a/drivers/net/ethernet/annapurna/al_eth.c
>>> +++ b/drivers/net/ethernet/annapurna/al_eth.c
>>> @@ -2519,10 +2519,54 @@ static u32 al_eth_get_rxfh_indir_size(struct net_device *netdev)
>>>  	return AL_ETH_RX_RSS_TABLE_SIZE;
>>>  }
>>>
>>> +static void al_eth_get_wol(struct net_device *netdev,
>>> +			   struct ethtool_wolinfo *wol)
>>> +{
>>> +	struct al_eth_adapter *adapter = netdev_priv(netdev);
>>> +	struct phy_device *phydev;
>>> +
>>> +	wol->wolopts = adapter->wol;
>>> +
>>> +	if ((adapter) && (adapter->phy_exist) && (adapter->mdio_bus)) {
>>
>>     Now that's somewhat stupid looking... does the whole driver use this "style"?
>
> Not only that, in one of the two functions it is followed by:
>
> +	device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);

> Which assumes that 'adapter' is not NULL.
> Some verifiers will detect that as a possible NULL pointer dereference.

    I only meant unneeded parens. :-)

[...]

> 	David

MBR, Sergei




More information about the linux-arm-kernel mailing list