On Fri, May 11, 2018 at 06:39:23PM +0200, Borislav Petkov wrote:
> From: Borislav Petkov <[email protected]>
> 
> Just move the actual function up so that it is visible to its user
> aer_recover_queue().
> 
> No functional changes.
> 
> Signed-off-by: Borislav Petkov <[email protected]>

Applied to pci/aer for v4.18, thanks!

> ---
>  drivers/pci/pcie/aer/aerdrv_core.c | 45 +++++++++++++++---------------
>  1 file changed, 22 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/pci/pcie/aer/aerdrv_core.c 
> b/drivers/pci/pcie/aer/aerdrv_core.c
> index 0ea5acc40323..a9e575189571 100644
> --- a/drivers/pci/pcie/aer/aerdrv_core.c
> +++ b/drivers/pci/pcie/aer/aerdrv_core.c
> @@ -567,8 +567,6 @@ static void handle_error_source(struct pcie_device 
> *aerdev,
>  }
>  
>  #ifdef CONFIG_ACPI_APEI_PCIEAER
> -static void aer_recover_work_func(struct work_struct *work);
> -
>  #define AER_RECOVER_RING_ORDER               4
>  #define AER_RECOVER_RING_SIZE                (1 << AER_RECOVER_RING_ORDER)
>  
> @@ -582,6 +580,28 @@ struct aer_recover_entry {
>  
>  static DEFINE_KFIFO(aer_recover_ring, struct aer_recover_entry,
>                   AER_RECOVER_RING_SIZE);
> +
> +static void aer_recover_work_func(struct work_struct *work)
> +{
> +     struct aer_recover_entry entry;
> +     struct pci_dev *pdev;
> +
> +     while (kfifo_get(&aer_recover_ring, &entry)) {
> +             pdev = pci_get_domain_bus_and_slot(entry.domain, entry.bus,
> +                                                entry.devfn);
> +             if (!pdev) {
> +                     pr_err("AER recover: Can not find pci_dev for 
> %04x:%02x:%02x:%x\n",
> +                            entry.domain, entry.bus,
> +                            PCI_SLOT(entry.devfn), PCI_FUNC(entry.devfn));
> +                     continue;
> +             }
> +             cper_print_aer(pdev, entry.severity, entry.regs);
> +             if (entry.severity != AER_CORRECTABLE)
> +                     do_recovery(pdev, entry.severity);
> +             pci_dev_put(pdev);
> +     }
> +}
> +
>  /*
>   * Mutual exclusion for writers of aer_recover_ring, reader side don't
>   * need lock, because there is only one reader and lock is not needed
> @@ -611,27 +631,6 @@ void aer_recover_queue(int domain, unsigned int bus, 
> unsigned int devfn,
>       spin_unlock_irqrestore(&aer_recover_ring_lock, flags);
>  }
>  EXPORT_SYMBOL_GPL(aer_recover_queue);
> -
> -static void aer_recover_work_func(struct work_struct *work)
> -{
> -     struct aer_recover_entry entry;
> -     struct pci_dev *pdev;
> -
> -     while (kfifo_get(&aer_recover_ring, &entry)) {
> -             pdev = pci_get_domain_bus_and_slot(entry.domain, entry.bus,
> -                                                entry.devfn);
> -             if (!pdev) {
> -                     pr_err("AER recover: Can not find pci_dev for 
> %04x:%02x:%02x:%x\n",
> -                            entry.domain, entry.bus,
> -                            PCI_SLOT(entry.devfn), PCI_FUNC(entry.devfn));
> -                     continue;
> -             }
> -             cper_print_aer(pdev, entry.severity, entry.regs);
> -             if (entry.severity != AER_CORRECTABLE)
> -                     do_recovery(pdev, entry.severity);
> -             pci_dev_put(pdev);
> -     }
> -}
>  #endif
>  
>  /**
> -- 
> 2.17.0.391.g1f1cddd558b5
> 

Reply via email to