net: dsa: mv88e6xxx: Correct check for empty list
[ Upstream commit 4c7f3950a9fd53a62b156c0fe7c3a2c43b0ba19b ]
Since commit a3c53be55c ("net: dsa: mv88e6xxx: Support multiple MDIO
busses") mv88e6xxx_default_mdio_bus() has checked that the
return value of list_first_entry() is non-NULL.
This appears to be intended to guard against the list chip->mdios being
empty. However, it is not the correct check as the implementation of
list_first_entry is not designed to return NULL for empty lists.
Instead, use list_first_entry_or_null() which does return NULL if the
list is empty.
Flagged by Smatch.
Compile tested only.
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240430-mv88e6xx-list_empty-v3-1-c35c69d88d2e@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
13528e1d8f
commit
3bf8d70e14
1 changed files with 2 additions and 2 deletions
|
|
@ -115,8 +115,8 @@ struct mii_bus *mv88e6xxx_default_mdio_bus(struct mv88e6xxx_chip *chip)
|
|||
{
|
||||
struct mv88e6xxx_mdio_bus *mdio_bus;
|
||||
|
||||
mdio_bus = list_first_entry(&chip->mdios, struct mv88e6xxx_mdio_bus,
|
||||
list);
|
||||
mdio_bus = list_first_entry_or_null(&chip->mdios,
|
||||
struct mv88e6xxx_mdio_bus, list);
|
||||
if (!mdio_bus)
|
||||
return NULL;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue