Message ID | 20120529092154.GA2441@redhat.com |
---|---|
State | Not Applicable |
Headers | show |
On Tue, May 29, 2012 at 3:21 AM, Stanislaw Gruszka <sgruszka@redhat.com> wrote: > On Mon, May 28, 2012 at 12:21:34PM -0600, Bjorn Helgaas wrote: >> linked in vs. loaded as a module after boot? What if you add a long >> delay in the driver probe routine? > > I'm attaching patch which add 200 ms delay after pci_enable_device() in > ->probe routine. > > Stanislaw Kamil, any news on this issue? -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Bjorn, Sorry for delay, was is almost one month holiday. I haven't tried your patch yet, but wanted to share with one thing. Currently I use new kernel 3.4.3, where the problem doesn't exist anymore. However I still would like to know what was the cause and which change brought the solution. Is there anything which comes to your mind in terms of recent changes in kernel? I also added logs from the newest kernel, so it might be easier for track it. Best Regards, Kamil Grzebien On Fri, Jun 22, 2012 at 4:30 AM, Bjorn Helgaas <bhelgaas@google.com> wrote: > On Tue, May 29, 2012 at 3:21 AM, Stanislaw Gruszka <sgruszka@redhat.com> wrote: >> On Mon, May 28, 2012 at 12:21:34PM -0600, Bjorn Helgaas wrote: >>> linked in vs. loaded as a module after boot? What if you add a long >>> delay in the driver probe routine? >> >> I'm attaching patch which add 200 ms delay after pci_enable_device() in >> ->probe routine. >> >> Stanislaw > > Kamil, any news on this issue?
diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c index faec404..96fe43d 100644 --- a/drivers/net/wireless/iwlegacy/3945-mac.c +++ b/drivers/net/wireless/iwlegacy/3945-mac.c @@ -3635,6 +3635,8 @@ il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto out_ieee80211_free_hw; } + msleep(200); + pci_set_master(pdev); err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));