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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 6 Jan 2025 12:02:52 +1100

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)
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell