mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 16:41:25 +00:00
net: dsa: initialize the routing table
The routing table of every switch in a tree is currently initialized to all zeros. This is an issue since 0 is a valid port number. Add a DSA_RTABLE_NONE=-1 constant to initialize the signed values of the routing table pointing to other switches. This fixes the device mapping of the mv88e6xxx driver where the port pointing to the switch itself and to non-existent switches was wrongly configured to be 0. It is now set to the expected 0xf value. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
86dfb4acb3
commit
d390238c4f
3 changed files with 14 additions and 1 deletions
|
@ -774,11 +774,17 @@ static int dsa_of_probe(struct device *dev)
|
|||
|
||||
chip_index = -1;
|
||||
for_each_available_child_of_node(np, child) {
|
||||
int i;
|
||||
|
||||
chip_index++;
|
||||
cd = &pd->chip[chip_index];
|
||||
|
||||
cd->of_node = child;
|
||||
|
||||
/* Initialize the routing table */
|
||||
for (i = 0; i < DSA_MAX_SWITCHES; ++i)
|
||||
cd->rtable[i] = DSA_RTABLE_NONE;
|
||||
|
||||
/* When assigning the host device, increment its refcount */
|
||||
cd->host_dev = get_device(&mdio_bus->dev);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue