All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@gmail.com>
To: Steve Roemen <stever@carlislefsp.com>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: isicom module oops 2.6.17.13
Date: Tue, 12 Sep 2006 17:53:58 -0400	[thread overview]
Message-ID: <4506DAD7.8030307.reply@wsc.cz> (raw)
In-Reply-To: <4506DAD7.8030307@carlislefsp.com>

Steve Roemen wrote:
>kernel version 2.6.17.13
>running debian version 3.1
>
>lspci -vvv info for the device:
>0000:00:10.0 Communication controller: PLX Technology, Inc.: Unknown 
>device 2028 (rev 01)
>        Subsystem: Unknown device 2028:1000
>        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- 
>ParErr+ Stepping- SERR+ FastB2B-
>        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
><TAbort- <MAbort- >SERR- <PERR-
>        Interrupt: pin A routed to IRQ 5
>        Region 0: Memory at c6efee80 (32-bit, non-prefetchable) [size=128]
>        Region 1: I/O ports at 2000 [size=128]
>        Region 3: I/O ports at 2080 [size=16]
>
>When loading the module isicom for an ISI4608 pci card, with the 
>firmware in /usr/lib/hotplug/firmware/ It dumps this crash log:
>
>isicom 0000:00:10.0: ISI PCI Card(Device ID 0x2028)
>isicom 0000:00:10.0: -Done
>BUG: unable to handle kernel paging request at virtual address e09cf000
> printing eip:
>e0a42e0b
>*pde = 1ff9a067
>*pte = 00000000
>Oops: 0000 [#1]
>Modules linked in: isicom firmware_class shpchp ide_scsi reiserfs ext3 
>jbd epca st ohci_hcd ehci_hcd pci_hotplug mousedev evdev tsdev psmouse 
>rtc raid5 xor raid0 tlan sd_mod ide_cd cdrom ide_disk ide_generic 
>pdc202xx_new aec62xx alim15x3 amd74xx atiixp cmd64x cs5520 cs5530 
>cy82c693 generic hpt34x ns87415 opti621 pdc202xx_old rz1000 sc1200 
>serverworks siimage sis5513 slc90e66 triflex trm290 via82cxxx floppy 
>usb_storage piix ide_core fbcon tileblit font bitblit softcursor vga16fb 
>cfbcopyarea vgastate cfbimgblt cfbfillrect usbserial usbhid usbkbd 
>uhci_hcd usbcore sym53c8xx scsi_transport_spi scsi_mod raid1 md_mod unix
>CPU:    0
>EIP:    0060:[<e0a42e0b>]    Not tainted VLI
>EFLAGS: 00010286   (2.6.17.13 #2)
>EIP is at isicom_probe+0x4a4/0x83b [isicom]
>eax: 00000000   ebx: 00002080   ecx: 00004c72   edx: 00002080
>esi: e09cf000   edi: 0000208e   ebp: 00005c6c   esp: de4e9df8
>ds: 007b   es: 007b   ss: 0068
>Process modprobe (pid: 2044, threadinfo=de4e8000 task=df4385b0)
>Stack: de4e9e54 de4e9e38 ded99f70 00002084 dffcc4ec 00000000 e0a490c0 
>dffcc448
>       004e9e38 e0a490c0 00000000 0000208c 00002084 00000000 dffcc4b0 
>dffcc448
>       e09cd008 deb8ed20 dffcc400 dffcc400 e0a463c0 e0a463ec c019e28e 
>dffcc400
>Call Trace:
> <c019e28e> pci_device_probe+0x38/0x59  <c01e068c> 
>driver_probe_device+0x45/0x8f
> <c01e072d> __driver_attach+0x0/0x5c  <c01e0764> __driver_attach+0x37/0x5c
> <c01dfd7f> bus_for_each_dev+0x46/0x6c  <c01e057c> driver_attach+0x14/0x18
> <c01e072d> __driver_attach+0x0/0x5c  <c01e0038> bus_add_driver+0x5b/0xe6
> <c019df4a> __pci_register_driver+0x3b/0x5d  <e0a424b8> 
>isicom_setup+0x1df/0x24b [isicom]
> <c0126c44> sys_init_module+0x11d7/0x12a6  <c0102923> syscall_call+0x7/0xb
>Code: 85 d2 74 02 8b 3a 50 51 53 56 31 f6 ff 74 24 20 57 68 63 42 a4 e0 
>e8 69 18 6d df e9 ec 01 00 00 8b 74 24 40 89 e9 89 da 83 c6 04 <f3> 66 
>6f 31 c0 8b 54 24 2c 66 ef 68 de 46 03 00 31 f6 e8 98 47
>EIP: [<e0a42e0b>] isicom_probe+0x4a4/0x83b [isicom] SS:ESP 0068:de4e9df8
>
>
>
>here's the list of firmware in /usr/lib/hotplug/firmware/
>-r-xr-xr-x  1 root root  7325 2006-09-11 14:23 isi4608.bin
>-r-xr-xr-x  1 root root  7497 2006-09-11 14:23 isi4616.bin
>-r-xr-xr-x  1 root root  6213 2006-09-11 14:23 isi608.bin
>-r-xr-xr-x  1 root root  6513 2006-09-11 14:23 isi608em.bin
>-r-xr-xr-x  1 root root  6533 2006-09-11 14:23 isi616em.bin

Hi,

could you, please test this patch and send the results appeared in dmesg?

diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index 6cca4b2..510c3cc 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -1758,7 +1758,8 @@ static int __devinit load_firmware(struc
 
 	for (frame = (struct stframe *)fw->data;
 			frame < (struct stframe *)(fw->data + fw->size);
-			frame++) {
+			frame = (struct stframe *)((u8 *)frame + 4 +
+				frame->count)) {
 		if (WaitTillCardIsFree(base))
 			goto errrelfw;
 
@@ -1768,6 +1769,8 @@ static int __devinit load_firmware(struc
 
 		word_count = frame->count / 2 + frame->count % 2;
 		outw(word_count, base);
+		dev_info(&pdev->dev, "WC: %u, FC: %u, FD: %p, FP: %p\n",
+				word_count, frame->count, fw->data, frame);
 		InterruptTheCard(base);
 
 		udelay(100); /* 0x2f */

  reply	other threads:[~2006-09-12 21:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-12 16:05 isicom module oops 2.6.17.13 Steve Roemen
2006-09-12 21:53 ` Jiri Slaby [this message]
2006-09-13 15:14   ` Steve Roemen
2006-09-13 15:34     ` Jiri Slaby
2006-09-13 16:44       ` Steve Roemen
2006-09-13 22:29         ` Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4506DAD7.8030307.reply@wsc.cz \
    --to=jirislaby@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stever@carlislefsp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.