linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Initializing iwl3945 error
@ 2012-03-11 17:43 Kamil Grzebien
  2012-03-13  8:12 ` Stanislaw Gruszka
  0 siblings, 1 reply; 15+ messages in thread
From: Kamil Grzebien @ 2012-03-11 17:43 UTC (permalink / raw)
  To: linux-pci, linux-kernel, linux-wireless; +Cc: sgruszka

Hello,

I've initialisation problem with my iwl3945 network card in Dell XPS
M1530 laptop. The issue is known and described in couple of bug
reports (eg. http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2143).
There are workarounds but I'd like to solve the problem permanently.
Basically when initializing I get:

iwl3945 0000:0b:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
iwl3945 0000:0b:00.0: setting latency timer to 64
iwl3945 0000:0b:00.0: MAC is in deep sleep!.  CSR_GP_CNTRL = 0xFFFFFFFF
iwl3945 0000:0b:00.0: MAC is in deep sleep!.  CSR_GP_CNTRL = 0xFFFFFFFF
....
iwl3945 0000:0b:00.0: MAC is in deep sleep!.  CSR_GP_CNTRL = 0xFFFFFFFF
iwl3945 0000:0b:00.0: bad EEPROM signature,EEPROM_GP=0x00000007
iwl3945 0000:0b:00.0: EEPROM not found, EEPROM_GP=0xffffffff

Currently I'm working on Fedora 16 with 3.1.5-6.fc16.i686 kernel. I
did some investigation/debugging on iwlegacy driver and found out few
things.

1. Driver can't initialize card as all ioread32/iowrite32 seems to not
do their job. All reads finalize with 0xffffffff.

However I can see that:
- pci_iomap(pdev, 0, 0) doesn't return error,
- pci_resource_start(pdev, 0) seems gives correct address (I can
compare it with the one I can see in /proc/iomem).

If I access the memory directly, not by mapping, I can write and read
pci memory but driver load fails anyway. I don't understand why can't
access using mapped memory.

2. If I check BASE_ADDRESS with setpci it doesn't give correct values:

# setpci -v -s 0b:00.0 BASE_ADDRESS_0 BASE_ADDRESS_1
0000:0b:00.0 @10 = 00000000
0000:0b:00.0 @14 = 00000000

Not sure if it's done by driver itself or it should point correct
values even if the driver wasn't fully loaded.

Have you got any idea of:
- why IO memory isn't accessible? what could cause that?
- how APIC could change the load process in this particular case? (if
I boot with noapic kernel option it usually works fine)
- is there a way to check the status or rescan the device from driver itself?

This issue is reproducible in 100% on my system when I turn on the
machine. It doesn't occur after some work on it. I'd be very happy to
get rid of the issue.

Could you point some ideas that might be worth checking in driver or
kernel please? I've tried couple of ideas but none worked for me.

Regards,
Kamil Grzebien

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-07-06 21:34 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-11 17:43 Initializing iwl3945 error Kamil Grzebien
2012-03-13  8:12 ` Stanislaw Gruszka
2012-03-15 21:08   ` Bjorn Helgaas
2012-04-04 16:13     ` Stanislaw Gruszka
2012-04-05  8:24       ` Kamil Grzebien
2012-04-08 11:51     ` Kamil Grzebien
2012-05-28 14:04       ` Stanislaw Gruszka
2012-05-28 18:21         ` Bjorn Helgaas
2012-05-29  9:21           ` Stanislaw Gruszka
2012-06-22  3:30             ` Bjorn Helgaas
2012-07-01 18:01               ` Kamil Grzebien
2012-07-02  5:31                 ` Stanislaw Gruszka
2012-07-02 20:49                   ` Kamil Grzebien
2012-07-06 20:38                     ` Bjorn Helgaas
2012-07-06 21:34                       ` Yinghai Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).