lkml.org 
[lkml]   [2020]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: linux-next: manual merge of the net-next tree with the net tree
On 2020-11-03 18:43, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the net-next tree got a conflict in:
>
> drivers/net/ethernet/ibm/ibmvnic.c
>
> between commit:
>
> 1d8504937478 ("powerpc/vnic: Extend "failover pending" window")
>
> from the net tree and commit:
>
> 16b5f5ce351f ("ibmvnic: merge do_change_param_reset into do_reset")
>
> from the net-next 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.
>

Sorry I missed this email.
The fix is correct.
Thank you Stephen.

> --
> Cheers,
> Stephen Rothwell
>
> diff --cc drivers/net/ethernet/ibm/ibmvnic.c
> index da15913879f8,f4167de30461..000000000000
> --- a/drivers/net/ethernet/ibm/ibmvnic.c
> +++ b/drivers/net/ethernet/ibm/ibmvnic.c
> @@@ -1930,17 -1841,12 +1850,20 @@@ static int do_reset(struct
> ibmvnic_adap
> netdev_dbg(adapter->netdev, "Re-setting driver (%d)\n",
> rwi->reset_reason);
>
> - rtnl_lock();
> + adapter->reset_reason = rwi->reset_reason;
> + /* requestor of VNIC_RESET_CHANGE_PARAM already has the rtnl lock */
> + if (!(adapter->reset_reason == VNIC_RESET_CHANGE_PARAM))
> + rtnl_lock();
> +
> + /*
> + * Now that we have the rtnl lock, clear any pending failover.
> + * This will ensure ibmvnic_open() has either completed or will
> + * block until failover is complete.
> + */
> + if (rwi->reset_reason == VNIC_RESET_FAILOVER)
> + adapter->failover_pending = false;
> +
> netif_carrier_off(netdev);
> - adapter->reset_reason = rwi->reset_reason;
>
> old_num_rx_queues = adapter->req_rx_queues;
> old_num_tx_queues = adapter->req_tx_queues;
> @@@ -2214,17 -2140,7 +2157,14 @@@ static void __ibmvnic_reset(struct
> work
> }
> spin_unlock_irqrestore(&adapter->state_lock, flags);
>
> - if (rwi->reset_reason == VNIC_RESET_CHANGE_PARAM) {
> - /* CHANGE_PARAM requestor holds rtnl_lock */
> - rc = do_change_param_reset(adapter, rwi, reset_state);
> - } else if (adapter->force_reset_recovery) {
> + if (adapter->force_reset_recovery) {
> + /*
> + * Since we are doing a hard reset now, clear the
> + * failover_pending flag so we don't ignore any
> + * future MOBILITY or other resets.
> + */
> + adapter->failover_pending = false;
> +
> /* Transport event occurred during previous reset */
> if (adapter->wait_for_reset) {
> /* Previous was CHANGE_PARAM; caller locked */

\
 
 \ /
  Last update: 2020-11-06 21:20    [W:0.183 / U:1.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site