lkml.org 
[lkml]   [2005]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 2.6.14-rc4-mm1
    On Mon, Oct 17, 2005 at 01:22:42PM -0700, Andrew Morton wrote:
    > Brice Goglin <Brice.Goglin@ens-lyon.org> wrote:
    > > Modules linked in: pcspkr parport_pc parport irtty_sir sir_dev irda
    > > crc_ccitt hw_random uhci_hcd usbcore snd_maestro3 snd_ac97_codec
    > > snd_ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc
    > > snd soundcore yenta_socket rsrc_nonstatic pcmcia_core nls_iso8859_15
    > > nls_cp850 vfat fat nls_base psmouse
    > > CPU: 0
    > > EIP: 0060:[<c01dda09>] Not tainted VLI
    > > EFLAGS: 00010246 (2.6.14-rc4-mm1=LoulousMobile)
    > > EIP is at get_kobj_path_length+0x19/0x30
    > > eax: 00000000 ebx: 00000000 ecx: ffffffff edx: e6efee50
    > > esi: 00000001 edi: 00000000 ebp: e737eec8 esp: e737eebc
    > > ds: 007b es: 007b ss: 0068
    > > Process sed (pid: 3258, threadinfo=e737e000 task=e7970a90)
    > > Stack: e6efe800 00000001 e6de4000 e737eee8 c01dda9a e6efee50 e6de42e4
    > > 00000286
    > > e6efe800 00000001 e6de4000 e737ef24 c02a357f e6efee50 800000d0
    > > 0000000f
    > > 00000002 0000000a 00000000 e6efe800 00000000 000002e5 000002e5
    > > e7e9ce60
    > > Call Trace:
    > > [<c010414b>] show_stack+0xab/0xf0
    > > [<c010433f>] show_registers+0x18f/0x230
    > > [<c0104592>] die+0x102/0x1c0
    > > [<c035f27a>] do_page_fault+0x33a/0x66f
    > > [<c0103dbb>] error_code+0x4f/0x54
    > > [<c01dda9a>] kobject_get_path+0x1a/0x70
    > > [<c02a357f>] input_devices_read+0x53f/0x590
    > > [<c01a2e75>] proc_file_read+0x1b5/0x260
    > > [<c01689f8>] vfs_read+0xa8/0x190
    > > [<c0168dc7>] sys_read+0x47/0x70
    > > [<c0103325>] syscall_call+0x7/0xb
    > > Code: f8 89 ec 5d c3 8d b6 00 00 00 00 8d bc 27 00 00 00 00 55 89 e5 8b
    > > 55 08 57 56 be 01 00 00 00 53 31 db 8b 3a b9 ff ff ff ff 89 d8 <f2> ae
    > > f7 d1 49 8b 52 24 8d 74 31 01 85 d2 75 e7 5b 89 f0 5e 5f
    > > <6>input: isa0061/input0//class/input_dev as input3
    >
    > Something went wrong under input_devices_read(). Probably culprits cc'ed.

    I know this patch doesn't have the proc path, but it does fix an easy
    oops that I can generate from sysfs input devices. Can you try it out
    to see if it fixes your issue too?

    thanks,

    greg k-h

    ---
    drivers/input/input.c | 19 ++++++++++++-------
    1 file changed, 12 insertions(+), 7 deletions(-)

    --- gregkh-2.6.orig/drivers/input/input.c
    +++ gregkh-2.6/drivers/input/input.c
    @@ -522,17 +522,22 @@ static ssize_t input_dev_show_##name(str
    up(&input_dev->sem); \
    \
    return retval; \
    -}
    +} \
    +static CLASS_DEVICE_ATTR(name, S_IRUGO, input_dev_show_##name, NULL);

    INPUT_DEV_STRING_ATTR_SHOW(name);
    INPUT_DEV_STRING_ATTR_SHOW(phys);
    INPUT_DEV_STRING_ATTR_SHOW(uniq);

    -static struct class_device_attribute input_dev_attrs[] = {
    - __ATTR(name, S_IRUGO, input_dev_show_name, NULL),
    - __ATTR(phys, S_IRUGO, input_dev_show_phys, NULL),
    - __ATTR(uniq, S_IRUGO, input_dev_show_uniq, NULL),
    - __ATTR_NULL
    +static struct attribute *input_dev_attrs[] = {
    + &class_device_attr_name.attr,
    + &class_device_attr_phys.attr,
    + &class_device_attr_uniq.attr,
    + NULL
    +};
    +
    +static struct attribute_group input_dev_group = {
    + .attrs = input_dev_attrs,
    };

    #define INPUT_DEV_ID_ATTR(name) \
    @@ -694,7 +699,6 @@ struct class input_class = {
    .name = "input",
    .release = input_dev_release,
    .hotplug = input_dev_hotplug,
    - .class_dev_attrs = input_dev_attrs,
    };

    struct input_dev *input_allocate_device(void)
    @@ -732,6 +736,7 @@ static void input_register_classdevice(s
    kfree(path);

    class_device_add(&dev->cdev);
    + sysfs_create_group(&dev->cdev.kobj, &input_dev_group);
    sysfs_create_group(&dev->cdev.kobj, &input_dev_id_attr_group);
    sysfs_create_group(&dev->cdev.kobj, &input_dev_caps_attr_group);
    }
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2005-10-18 09:02    [W:4.117 / U:0.256 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site