On 7/1/2020 9:51 PM, Jakub Kicinski wrote:
> On Wed, 1 Jul 2020 17:32:45 +0300 Ido Schimmel wrote:
>> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>> b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>> index 2bd610fafc58..3af4e7397263 100644
>> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>> @@ -691,6 +691,9 @@ static void bnxt_dl_params_unregister(struct bnxt *bp)
>>
>> int bnxt_dl_register(struct bnxt *bp)
>> {
>> + struct devlink_port_attrs attrs = {};
>> + const unsigned char *switch_id;
>> + unsigned char switch_id_len;
>> struct devlink *dl;
>> int rc;
>>
>> @@ -719,9 +722,13 @@ int bnxt_dl_register(struct bnxt *bp)
>> if (!BNXT_PF(bp))
>> return 0;
>>
>> - devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL,
>> - bp->pf.port_id, false, 0, bp->dsn,
>> - sizeof(bp->dsn));
>> + attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL;
>> + attrs.phys.port_number = bp->pf.port_id;
>> + switch_id = bp->dsn;
>> + switch_id_len = sizeof(bp->dsn);
> Why do you create those local variables everywhere?
I will change that, thanks.
>
>> + memcpy(attrs.switch_id.id, switch_id, switch_id_len);
>> + attrs.switch_id.id_len = switch_id_len;
>> + devlink_port_attrs_set(&bp->dl_port, &attrs);
>> rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id);
>> if (rc) {
>> netdev_err(bp->dev, "devlink_port_register failed\n");