Messages in this thread | | | From | Rolf Eike Beer <> | Subject | Re: [Pcihpd-discuss] Re: [patch] pciehp: dont call pci_enable_dev | Date | Wed, 26 Apr 2006 08:04:14 +0200 |
| |
Am Mittwoch, 26. April 2006 00:00 schrieb Kristen Accardi: >On Tue, 2006-04-25 at 08:16 +0200, Arjan van de Ven wrote: >> On Mon, 2006-04-24 at 15:50 -0700, Kristen Accardi wrote: >> > Don't call pci_enable_device from pciehp because the pcie port service >> > driver already does this. >> >> hmmmm shouldn't pci_enable_device on a previously enabled device just >> succeed? Sounds more than logical to me to make it that way at least... > >I can't think of any reason why not. Something like this what you had >in mind perhaps? > >--- > drivers/pci/pci.c | 14 +++++++++----- > 1 files changed, 9 insertions(+), 5 deletions(-) > >--- 2.6-git-pcie.orig/drivers/pci/pci.c >+++ 2.6-git-pcie/drivers/pci/pci.c >@@ -504,11 +504,15 @@ pci_enable_device_bars(struct pci_dev *d > int > pci_enable_device(struct pci_dev *dev) > { >- int err = pci_enable_device_bars(dev, (1 << PCI_NUM_RESOURCES) - 1); >- if (err) >- return err; >- pci_fixup_device(pci_fixup_enable, dev); >- dev->is_enabled = 1; >+ int err; >+ >+ if (!dev->is_enabled) { >+ err = pci_enable_device_bars(dev, (1 << PCI_NUM_RESOURCES) - 1); >+ if (err) >+ return err; >+ pci_fixup_device(pci_fixup_enable, dev); >+ dev->is_enabled = 1; >+ } > return 0; > }
What about
if (dev->is_enabled) return 0;
and leaving the rest as it is? This would save one level of identation. Opinions?
Eike [unhandled content-type:application/pgp-signature] | |