Subject: Re: linux-next: manual merge of the rdma tree with Linus' tree

From: Zhu Yanjun <[email-masked]>
Date: Mon, 6 Jan 2025 15:16:50 +0100

On 06.01.25 02:02, Stephen Rothwell wrote:
> Hi all,
>
> On Mon, 6 Jan 2025 10:51:06 +1100 Stephen Rothwell <[email-masked]> wrote:
>> Today's linux-next merge of the rdma tree got a conflict in:
>>
>>    drivers/infiniband/sw/rxe/rxe_net.c
>>
>> between commit:
>>
>>    2ac5415022d1 ("RDMA/rxe: Remove the direct link to net_device")
>>
>> from Linus' tree and commit:
>>
>>    958152336cfa ("RDMA/rxe: Remove deliver net device event")
>>
>> from the rdma tree.
>>
>> I fixed it up (see below) and can carry the fix as necessary. This
>> is now fixed as far as linux-next is concerned, but any non trivial
>> conflicts should be mentioned to your upstream maintainer when your tree
>> is submitted for merging.  You may also want to consider cooperating
>> with the maintainer of the conflicting tree to minimise any particularly
>> complex conflicts.
>>
>> -- 
>> Cheers,
>> Stephen Rothwell
>>
>> diff --cc drivers/infiniband/sw/rxe/rxe_net.c
>> index 8cc64ceeb356,d400aaab0e70..000000000000
>> --- a/drivers/infiniband/sw/rxe/rxe_net.c
>> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
>> @@@ -595,13 -577,7 +585,13 @@@ void rxe_port_down(struct rxe_dev *rxe
>>    
>>    void rxe_set_port_state(struct rxe_dev *rxe)
>>    {
>>   -	if (ib_get_curr_port_state(rxe->ndev) == IB_PORT_ACTIVE)
>>   +	struct net_device *ndev;
>>   +
>>   +	ndev = rxe_ib_device_get_netdev(&rxe->ib_dev);
>>   +	if (!ndev)
>>   +		return;
>>   +
>> - 	if (netif_running(ndev) && netif_carrier_ok(ndev))
>> ++	if (ib_get_curr_port_state(ndev) == IB_PORT_ACTIVE)
>>    		rxe_port_up(rxe);
>>    	else
>>    		rxe_port_down(rxe);
> It also needed the following merge fix patch:
>
> From: Stephen Rothwell <[email-masked]>
> Date: Mon, 6 Jan 2025 11:36:03 +1100
> Subject: [PATCH] fix up for "RDMA/rxe: Remove deliver net device event"
>
> interacting with "RDMA/rxe: Remove the direct link to net_device"
>
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>   drivers/infiniband/sw/rxe/rxe_verbs.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c
> index 47d57046fad4..6152a0fdfc8c 100644
> --- a/drivers/infiniband/sw/rxe/rxe_verbs.c
> +++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
> @@ -62,7 +62,7 @@ static int rxe_query_port(struct ib_device *ibdev,
>   	ret = ib_get_eth_speed(ibdev, port_num, &attr->active_speed,
>   			       &attr->active_width);
>   
> -	attr->state = ib_get_curr_port_state(rxe->ndev);
> +	attr->state = ib_get_curr_port_state(ndev);
>   	if (attr->state == IB_PORT_ACTIVE)
>   		attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
>   	else if (dev_get_flags(ndev) & IFF_UP)

To the above 2 changes, I am fine with them. The changes are from the 
following commit.

When I worked on the commit 2ac5415022d1 ("RDMA/rxe: Remove the direct 
link to net_device"),

the commit 958152336cfa ("RDMA/rxe: Remove deliver net device event") is 
not merged into linux upstream.

commit 958152336cfafdec1f42d3d44253805282dc1321
Author: Yuyu Li <[email-masked]>
Date:   Fri Nov 22 18:53:02 2024 +0800

     RDMA/rxe: Remove deliver net device event

     Since the netdev events of link status is now handled in ib_core,
     remove the related code in drivers.

     In addition, remove the setting of port->attr.state in rxe_port_up()
     and rxe_port_down(), as it is only used in rxe_query_port(), and it
     can be replaced by ib_get_curr_port_state().

     Signed-off-by: Yuyu Li <[email-masked]>
     Signed-off-by: Junxian Huang <[email-masked]>
     Signed-off-by: Leon Romanovsky <[email-masked]>

Thanks a lot.

Zhu Yanjun

-- 
Best Regards,
Yanjun.Zhu