From: Jan Dittmer <jdittmer@ppp0.net>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: linux1394-devel@lists.sourceforge.net, bcollins@debian.org
Subject: Oops in dv1394_remove_host (inkl. fix)
Date: Thu, 23 Sep 2004 17:15:28 +0200 [thread overview]
Message-ID: <4152E890.5030500@ppp0.net> (raw)
I was playing around with dummyphp. When removing the pci device
of ohci1394 I got an oops due to the missing initialization
of the .name attribute of the dummy driver (I think).
The code in question is this (in dv1394.c, dv1394_remove_host):
/* We only work with the OHCI-1394 driver */
if (strcmp(host->driver->name, OHCI1394_DRIVER_NAME))
return;
Additionally I think this check will never be true, because
host->driver is set to &dummy before calling the
remove_hosts functions of the sublevel drivers
(hosts.c, remove_host):
host->driver = &dummy_driver;
highlevel_remove_host(host);
highlevel_remove_host calls dv1394_remove_host.
The following should fix the oops:
--- 2.6/drivers/ieee1394/hosts.c.orig 2004-09-23 16:57:58.000000000 +0200
+++ 2.6/drivers/ieee1394/hosts.c 2004-09-23 16:58:00.000000000 +0200
@@ -76,7 +76,8 @@
static struct hpsb_host_driver dummy_driver = {
.transmit_packet = dummy_transmit_packet,
.devctl = dummy_devctl,
- .isoctl = dummy_isoctl
+ .isoctl = dummy_isoctl,
+ .name = "dummy"
};
static int alloc_hostnum_cb(struct hpsb_host *host, void *__data)
Thanks,
Jan
ieee1394: Node removed: ID:BUS[0-00:1023] GUID[0800460301101508]
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
c02d2aa8
*pde = 097eb001
*pte = 00000000
Oops: 0000 [#1]
PREEMPT SMP
Modules linked in: dummyphp pci_hotplug orinoco_cs orinoco hermes ds ipv6 ppp_generic slhc ipt_state iptable_filter iptable_mangle ipt_MASQUERADE iptable_nat ip_conntrack iptable_raw ip_tables hci_usb yenta_socket pcmcia_core eeprom i2c_sensor i2c_isa i2c_i810 i2c_algo_bit i2c_i801 i2c_core pl2303 usbserial
CPU: 0
EIP: 0060:[<c02d2aa8>] Not tainted VLI
EFLAGS: 00010286 (2.6.9-rc2-bk8-numa)
EIP is at dv1394_remove_host+0x18/0xc0
eax: c04895fc ebx: 00000000 ecx: 00000000 edx: c02d2a90
esi: 00000000 edi: c03faa6e ebp: c048a920 esp: cd842e54
ds: 007b es: 007b ss: 0068
Process bash (pid: 2764, threadinfo=cd842000 task=ceea7aa0)
Stack: c048a920 cf470000 cf470000 c048a920 c02b970b cd842e68 c02b9258 c048a640
cf470000 00000000 c048a920 cf470000 c0489634 cf47209c c02ba10b cf470000
c048a084 cae1eb40 c02b9139 cfe67000 c02c65c3 cf454140 cf433098 cf471f38
Call Trace:
[<c02b970b>] __unregister_host+0xbb/0xc0
[<c02b9258>] hl_get_hostinfo+0x48/0x60
[<c02ba10b>] highlevel_remove_host+0x3b/0x70
[<c02b9139>] hpsb_remove_host+0x39/0x60
[<c02c65c3>] ohci1394_pci_remove+0x53/0x220
[<c021e8f8>] pci_device_remove+0x28/0x30
[<c02812b6>] device_release_driver+0x56/0x60
[<c02814f5>] bus_remove_device+0x55/0xa0
[<c028046c>] device_del+0x5c/0xa0
[<c02804b8>] device_unregister+0x8/0x10
[<c021ca30>] pci_destroy_dev+0x10/0x70
[<d4f194b6>] disable_slot+0x76/0x100 [dummyphp]
[<d4f14798>] power_write_file+0x118/0x170 [pci_hotplug]
[<d4f14680>] power_write_file+0x0/0x170 [pci_hotplug]
[<d4f14066>] hotplug_slot_attr_store+0x36/0x40 [pci_hotplug]
[<c018efab>] flush_write_buffer+0x2b/0x40
[<c018f001>] sysfs_write_file+0x41/0x50
[<c015dda0>] vfs_write+0xb0/0x110
[<c015dec7>] sys_write+0x47/0x80
[<c010614b>] syscall_call+0x7/0xb
Code: 89 d8 e8 dc 42 e7 ff 8b 5c 24 38 83 c4 3c c3 8d 74 26 00 55 57 bf 6e aa 3f c0 56 53 8b 98 34 1f 00 00 8b 80 2c 1f 00 00 8b 70 04 <ac> ae 75 08 84 c0 75 f8 31 c0 eb 04 19 c0 0c 01 85 c0 74 05 5b
next reply other threads:[~2004-09-23 15:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-23 15:15 Jan Dittmer [this message]
2004-09-23 15:26 ` Oops in dv1394_remove_host (inkl. fix) Jan Dittmer
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=4152E890.5030500@ppp0.net \
--to=jdittmer@ppp0.net \
--cc=bcollins@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux1394-devel@lists.sourceforge.net \
/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.