Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1671284 > unrolled thread

linux-next: manual merge of the net-next tree with the pci tree

Started byStephen Rothwell <sfr@canb.auug.org.au>
First post2017-06-21 04:00 +0200
Last post2017-07-03 04:00 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  linux-next: manual merge of the net-next tree with the pci tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-06-21 04:00 +0200
    Re: linux-next: manual merge of the net-next tree with the pci tree Kalle Valo <kvalo@codeaurora.org> - 2017-06-21 15:30 +0200
      Re: linux-next: manual merge of the net-next tree with the pci tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-06-21 15:40 +0200
    Re: linux-next: manual merge of the net-next tree with the pci tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-07-03 04:00 +0200

#1671284 — linux-next: manual merge of the net-next tree with the pci tree

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2017-06-21 04:00 +0200
Subjectlinux-next: manual merge of the net-next tree with the pci tree
Message-ID<tUD61-81B-1@gated-at.bofh.it>
Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  drivers/net/wireless/marvell/mwifiex/pcie.c

between commit:

  c336cc0ee4eb ("PCI: Split ->reset_notify() method into ->reset_prepare() and ->reset_done()")

from the pci tree and commit:

  68efd0386988 ("mwifiex: pcie: stop setting/clearing 'surprise_removed'")

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.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/net/wireless/marvell/mwifiex/pcie.c
index 279adf124fc9,b53ecf1eddda..000000000000
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@@ -361,48 -359,35 +361,46 @@@ static void mwifiex_pcie_reset_prepare(
  	}
  
  	mwifiex_dbg(adapter, INFO,
 -		    "%s: vendor=0x%4.04x device=0x%4.04x rev=%d %s\n",
 -		    __func__, pdev->vendor, pdev->device,
 -		    pdev->revision,
 -		    prepare ? "Pre-FLR" : "Post-FLR");
 -
 -	if (prepare) {
 -		/* Kernel would be performing FLR after this notification.
 -		 * Cleanup all software without cleaning anything related to
 -		 * PCIe and HW.
 -		 */
 -		mwifiex_shutdown_sw(adapter);
 -		clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, &card->work_flags);
 -		clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, &card->work_flags);
 -	} else {
 -		/* Kernel stores and restores PCIe function context before and
 -		 * after performing FLR respectively. Reconfigure the software
 -		 * and firmware including firmware redownload
 -		 */
 -		ret = mwifiex_reinit_sw(adapter);
 -		if (ret) {
 -			dev_err(&pdev->dev, "reinit failed: %d\n", ret);
 -			return;
 -		}
 -	}
 +		    "%s: vendor=0x%4.04x device=0x%4.04x rev=%d Pre-FLR\n",
 +		    __func__, pdev->vendor, pdev->device, pdev->revision);
 +
 +	mwifiex_shutdown_sw(adapter);
- 	adapter->surprise_removed = true;
 +	clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, &card->work_flags);
 +	clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, &card->work_flags);
  	mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
  }
  
 -static const struct pci_error_handlers mwifiex_pcie_err_handler[] = {
 -		{ .reset_notify = mwifiex_pcie_reset_notify, },
 +/*
 + * Kernel stores and restores PCIe function context before and after performing
 + * FLR respectively. Reconfigure the software and firmware including firmware
 + * redownload.
 + */
 +static void mwifiex_pcie_reset_done(struct pci_dev *pdev)
 +{
 +	struct pcie_service_card *card = pci_get_drvdata(pdev);
 +	struct mwifiex_adapter *adapter = card->adapter;
 +	int ret;
 +
 +	if (!adapter) {
 +		dev_err(&pdev->dev, "%s: adapter structure is not valid\n",
 +			__func__);
 +		return;
 +	}
 +
 +	mwifiex_dbg(adapter, INFO,
 +		    "%s: vendor=0x%4.04x device=0x%4.04x rev=%d Post-FLR\n",
 +		    __func__, pdev->vendor, pdev->device, pdev->revision);
 +
- 	adapter->surprise_removed = false;
 +	ret = mwifiex_reinit_sw(adapter);
 +	if (ret)
 +		dev_err(&pdev->dev, "reinit failed: %d\n", ret);
 +	else
 +		mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
 +}
 +
 +static const struct pci_error_handlers mwifiex_pcie_err_handler = {
 +	.reset_prepare		= mwifiex_pcie_reset_prepare,
 +	.reset_done		= mwifiex_pcie_reset_done,
  };
  
  #ifdef CONFIG_PM_SLEEP

[toc] | [next] | [standalone]


#1671666

FromKalle Valo <kvalo@codeaurora.org>
Date2017-06-21 15:30 +0200
Message-ID<tUNRM-6Ci-25@gated-at.bofh.it>
In reply to#1671284
Stephen Rothwell <sfr@canb.auug.org.au> writes:

> Today's linux-next merge of the net-next tree got a conflict in:
>
>   drivers/net/wireless/marvell/mwifiex/pcie.c
>
> between commit:
>
>   c336cc0ee4eb ("PCI: Split ->reset_notify() method into
> ->reset_prepare() and ->reset_done()")
>
> from the pci tree and commit:
>
>   68efd0386988 ("mwifiex: pcie: stop setting/clearing 'surprise_removed'")
>
> from the net-next tree.
>
> I fixed it up (see below) and can carry the fix as necessary.

Thanks, the fix looks good to me. I guess there's nothing I can do at
the moment and Linus needs to fix this when he pulls from Dave (or
Bjorn, whichever is the last)?

-- 
Kalle Valo

[toc] | [prev] | [next] | [standalone]


#1671671

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2017-06-21 15:40 +0200
Message-ID<tUO1s-6FS-21@gated-at.bofh.it>
In reply to#1671666
Hi Kalle,

On Wed, 21 Jun 2017 16:29:29 +0300 Kalle Valo <kvalo@codeaurora.org> wrote:
>
> Thanks, the fix looks good to me. I guess there's nothing I can do at
> the moment and Linus needs to fix this when he pulls from Dave (or
> Bjorn, whichever is the last)?

Right.

-- 
Cheers,
Stephen Rothwell

[toc] | [prev] | [next] | [standalone]


#1679602

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2017-07-03 04:00 +0200
Message-ID<tYYOB-2vJ-1@gated-at.bofh.it>
In reply to#1671284
Hi all,

With the merge window opening, just a reminder that this conflict still
exists.

On Wed, 21 Jun 2017 11:54:43 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the net-next tree got a conflict in:
> 
>   drivers/net/wireless/marvell/mwifiex/pcie.c
> 
> between commit:
> 
>   c336cc0ee4eb ("PCI: Split ->reset_notify() method into ->reset_prepare() and ->reset_done()")
> 
> from the pci tree and commit:
> 
>   68efd0386988 ("mwifiex: pcie: stop setting/clearing 'surprise_removed'")
> 
> 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.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/net/wireless/marvell/mwifiex/pcie.c
> index 279adf124fc9,b53ecf1eddda..000000000000
> --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
> +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
> @@@ -361,48 -359,35 +361,46 @@@ static void mwifiex_pcie_reset_prepare(
>   	}
>   
>   	mwifiex_dbg(adapter, INFO,
>  -		    "%s: vendor=0x%4.04x device=0x%4.04x rev=%d %s\n",
>  -		    __func__, pdev->vendor, pdev->device,
>  -		    pdev->revision,
>  -		    prepare ? "Pre-FLR" : "Post-FLR");
>  -
>  -	if (prepare) {
>  -		/* Kernel would be performing FLR after this notification.
>  -		 * Cleanup all software without cleaning anything related to
>  -		 * PCIe and HW.
>  -		 */
>  -		mwifiex_shutdown_sw(adapter);
>  -		clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, &card->work_flags);
>  -		clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, &card->work_flags);
>  -	} else {
>  -		/* Kernel stores and restores PCIe function context before and
>  -		 * after performing FLR respectively. Reconfigure the software
>  -		 * and firmware including firmware redownload
>  -		 */
>  -		ret = mwifiex_reinit_sw(adapter);
>  -		if (ret) {
>  -			dev_err(&pdev->dev, "reinit failed: %d\n", ret);
>  -			return;
>  -		}
>  -	}
>  +		    "%s: vendor=0x%4.04x device=0x%4.04x rev=%d Pre-FLR\n",
>  +		    __func__, pdev->vendor, pdev->device, pdev->revision);
>  +
>  +	mwifiex_shutdown_sw(adapter);
> - 	adapter->surprise_removed = true;
>  +	clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, &card->work_flags);
>  +	clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, &card->work_flags);
>   	mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
>   }
>   
>  -static const struct pci_error_handlers mwifiex_pcie_err_handler[] = {
>  -		{ .reset_notify = mwifiex_pcie_reset_notify, },
>  +/*
>  + * Kernel stores and restores PCIe function context before and after performing
>  + * FLR respectively. Reconfigure the software and firmware including firmware
>  + * redownload.
>  + */
>  +static void mwifiex_pcie_reset_done(struct pci_dev *pdev)
>  +{
>  +	struct pcie_service_card *card = pci_get_drvdata(pdev);
>  +	struct mwifiex_adapter *adapter = card->adapter;
>  +	int ret;
>  +
>  +	if (!adapter) {
>  +		dev_err(&pdev->dev, "%s: adapter structure is not valid\n",
>  +			__func__);
>  +		return;
>  +	}
>  +
>  +	mwifiex_dbg(adapter, INFO,
>  +		    "%s: vendor=0x%4.04x device=0x%4.04x rev=%d Post-FLR\n",
>  +		    __func__, pdev->vendor, pdev->device, pdev->revision);
>  +
> - 	adapter->surprise_removed = false;
>  +	ret = mwifiex_reinit_sw(adapter);
>  +	if (ret)
>  +		dev_err(&pdev->dev, "reinit failed: %d\n", ret);
>  +	else
>  +		mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
>  +}
>  +
>  +static const struct pci_error_handlers mwifiex_pcie_err_handler = {
>  +	.reset_prepare		= mwifiex_pcie_reset_prepare,
>  +	.reset_done		= mwifiex_pcie_reset_done,
>   };
>   
>   #ifdef CONFIG_PM_SLEEP

-- 
Cheers,
Stephen Rothwell

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web