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


Groups > linux.kernel > #1553900

Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit

From Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit
Date 2017-01-08 17:10 +0100
Message-ID <sXocG-8D-5@gated-at.bofh.it> (permalink)
References <sVZT4-Ik-31@gated-at.bofh.it> <sW2ee-2r4-15@gated-at.bofh.it> <sXiTD-583-1@gated-at.bofh.it>
Organization Intel Finland Oy

Show all headers | View raw


On Sun, 2017-01-08 at 02:24 -0800, Christoph Hellwig wrote:
> On Thu, Jan 05, 2017 at 12:19:56AM +0200, Andy Shevchenko wrote:
> > NAK, check the PCI devres code, please.

+Cc: Tejun, Bjorn.

> 
> Releasing something through devres that wasn't allocated using a
> devm_* or
> pcim_* function isn't expected, and we should fix that instead.
> pci_free_irq_vectors is _currently_ implemented by calling
> pci_disable_msi and pci_disable_msix, but there is no guarantee for
> that
> in the API.

> Your code works by accident, not by design.  If you want the resources
> to be auto-released you need to add a proper pcim_alloc_irq_vectors
> API.

Though idea sounds sane I disagree this is accidental. The PCI managed
introduction includes among other this one:

+  pcim_enable_device() : after success, all PCI ops become managed

As per commit 9ac7849e35f7 ("devres: device resource management").

Thus, I suppose a new API should follow existing design, or provide a
sane fix. I briefly checked MSI/-X usage and since I'm not so familiar
with the PCI core code, I wouldn't be brave to break it.

Currently I suspect pci_free_irq_vectors() is not friendly with
pcim_release().

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Jan Kiszka <jan.kiszka@siemens.com> - 2017-01-04 21:00 +0100
  Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-01-04 23:30 +0100
    Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Jan Kiszka <jan.kiszka@siemens.com> - 2017-01-04 23:50 +0100
      Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-01-05 00:00 +0100
      Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Christoph Hellwig <hch@lst.de> - 2017-01-05 06:30 +0100
        Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Jan Kiszka <jan.kiszka@siemens.com> - 2017-01-05 08:10 +0100
    Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Christoph Hellwig <hch@infradead.org> - 2017-01-08 11:30 +0100
      Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2017-01-08 17:10 +0100
  Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Christoph Hellwig <hch@infradead.org> - 2017-01-05 06:30 +0100
    Re: [PATCH] serial: 8250_lpss: Release Quark MSI vectors on exit Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2017-01-05 10:10 +0100

csiph-web