Re: [PATCH 5/5] net: phy: dp83867: Use unsigned variables to store unsigned properties

From: Heiner Kallweit
Date: Sat May 11 2019 - 08:34:02 EST


On 11.05.2019 12:41, Heiner Kallweit wrote:
> On 10.05.2019 23:46, Trent Piepho wrote:
>> The variables used to store u32 DT properties were signed ints. This
>> doesn't work properly if the value of the property were to overflow.
>> Use unsigned variables so this doesn't happen.
>>
> In patch 3 you added a check for DT properties being out of range.
> I think this would be good also for the three properties here.
> The delay values are only 4 bits wide, so you might also consider
> to switch to u8 or u16.
>
I briefly looked over the rest of the driver. What is plain wrong
is to allocate memory for the private data structure in the
config_init callback. This has to be done in the probe callback.
An example is marvell_probe(). As you seem to work on this driver,
can you provide a patch for this?

> Please note that net-next is closed currently. Please resubmit the
> patches once it's open again, and please annotate them properly
> with net-next.
>
>> Cc: Andrew Lunn <andrew@xxxxxxx>
>> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
>> Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx>
>> Signed-off-by: Trent Piepho <tpiepho@xxxxxxxxxx>
>> ---
>> drivers/net/phy/dp83867.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c
>> index a46cc9427fb3..edd9e27425e8 100644
>> --- a/drivers/net/phy/dp83867.c
>> +++ b/drivers/net/phy/dp83867.c
>> @@ -82,9 +82,9 @@ enum {
>> };
>>
>> struct dp83867_private {
>> - int rx_id_delay;
>> - int tx_id_delay;
>> - int fifo_depth;
>> + u32 rx_id_delay;
>> + u32 tx_id_delay;
>> + u32 fifo_depth;
>> int io_impedance;
>> int port_mirroring;
>> bool rxctrl_strap_quirk;
>>
>