net/smc: rework pnet table to support SMC-R failover
The pnet table stored pnet ids in the smc device structures. When a device is going down its smc device structure is freed, and when the device is brought online again it no longer has a pnet id set. Rework the pnet table implementation to store the device name with their assigned pnet id and apply the pnet id to devices when they are registered. Signed-off-by: Karsten Graul <kgraul@linux.ibm.com> Reviewed-by: Ursula Braun <ubraun@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
21615efa6a
commit
fdff704dc6
@@ -579,8 +579,9 @@ static void smc_ib_add_dev(struct ib_device *ibdev)
|
||||
i++) {
|
||||
set_bit(i, &smcibdev->port_event_mask);
|
||||
/* determine pnetids of the port */
|
||||
smc_pnetid_by_dev_port(ibdev->dev.parent, i,
|
||||
smcibdev->pnetid[i]);
|
||||
if (smc_pnetid_by_dev_port(ibdev->dev.parent, i,
|
||||
smcibdev->pnetid[i]))
|
||||
smc_pnetid_by_table_ib(smcibdev, i + 1);
|
||||
}
|
||||
schedule_work(&smcibdev->port_event_work);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user