19 Nov, 2011

1 commit

  • This converts the drivers in drivers/usb/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Simon Arlott
    Cc: Duncan Sands
    Cc: Matthieu CASTET
    Cc: Stanislaw Gruszka
    Cc: Pete Zaitcev
    Cc: Oliver Neukum
    Cc: Juergen Stuber
    Cc: Cesar Miquel
    Cc: Matthew Dharm
    Cc: Matthew Wilcox
    Cc: Sarah Sharp
    Cc: Kuninori Morimoto
    Cc: Felipe Balbi
    Cc: Lucas De Marchi
    Cc: Michael Hund
    Cc: Zack Parsons
    Cc: Melchior FRANZ
    Cc: Tomoki Sekiyama
    Cc: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

03 Mar, 2010

1 commit

  • The id_table field of the struct usb_device_id is constant in
    so it is worth to make the initialization data also constant.

    The semantic match that finds this kind of pattern is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @r@
    disable decl_init,const_decl_init;
    identifier I1, I2, x;
    @@
    struct I1 {
    ...
    const struct I2 *x;
    ...
    };
    @s@
    identifier r.I1, y;
    identifier r.x, E;
    @@
    struct I1 y = {
    .x = E,
    };
    @c@
    identifier r.I2;
    identifier s.E;
    @@
    const struct I2 E[] = ... ;
    @depends on !c@
    identifier r.I2;
    identifier s.E;
    @@
    + const
    struct I2 E[] = ...;
    //

    Signed-off-by: Németh Márton
    Cc: Julia Lawall
    Cc: cocci@diku.dk
    Signed-off-by: Greg Kroah-Hartman

    Németh Márton
     

08 Jan, 2009

1 commit

  • Fix oops introduced by commit ae93a55bf948753de0bb8e43fa9c027f786abb05
    (emi26: use request_firmware()):

    usb 1-1: new full speed USB device using uhci_hcd and address 2
    usb 1-1: configuration #1 chosen from 1 choice
    emi26 - firmware loader 1-1:1.0: emi26_probe start
    usb 1-1: firmware: requesting emi26/loader.fw
    usb 1-1: firmware: requesting emi26/bitstream.fw
    usb 1-1: firmware: requesting emi26/firmware.fw
    usb 1-1: emi26_set_reset - 1
    usb 1-1: emi26_set_reset - 0
    BUG: unable to handle kernel NULL pointer dereference at 00000000
    IP: [] emi26_probe+0x2f7/0x620 [emi26]
    *pde = 00000000
    Oops: 0000 [#1] SMP
    last sysfs file: /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/firmware/1-1/loading
    Modules linked in: emi26(+) ipv6 cpufreq_ondemand coretemp arc4 ecb iwl3945 irtty_sir sir_dev nsc_ircc ehci_hcd uhci_hcd mac80211 irda usbcore snd_hda_intel thinkpad_acpi rfkill hwmon led_class e1000e snd_pcm cfg80211 snd_timer crc_ccitt snd snd_page_alloc aes_generic

    Pid: 5082, comm: modprobe Not tainted (2.6.28 #2) 17023QG
    EIP: 0060:[] EFLAGS: 00010206 CPU: 0
    EIP is at emi26_probe+0x2f7/0x620 [emi26]
    EAX: 0000015c EBX: 00000000 ECX: c1ffd9c0 EDX: 00000000
    ESI: 0000015c EDI: f6bb215c EBP: f6bb0400 ESP: f00ebcfc
    DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    Process modprobe (pid: 5082, ti=f00ea000 task=f5c7c700 task.ti=f00ea000)
    Stack:
    0000015c 000000a5 f6a67cb8 f80dc7e0 c01c6262 fbef2986 f6bb2000 00008fe0
    0000015c f715f748 f715f740 f715f738 f715f748 f6a67c00 f80dd040 f80dcfc0
    f6bb0400 fbacb290 f6a67c94 fbae0160 c01c70bf 00000000 f6a67c1c 00000000
    Call Trace:
    [] sysfs_add_one+0x12/0x50
    [] usb_probe_interface+0xa0/0x140 [usbcore]
    [] sysfs_create_link+0xf/0x20
    [] driver_probe_device+0x82/0x180
    [] usb_match_id+0x3b/0x50 [usbcore]
    [] __driver_attach+0x7e/0x80
    [] bus_for_each_dev+0x3a/0x60
    [] driver_attach+0x16/0x20
    [] __driver_attach+0x0/0x80
    [] bus_add_driver+0x1a1/0x220
    [] driver_register+0x4d/0x120
    [] idr_get_empty_slot+0xf2/0x290
    [] usb_register_driver+0x81/0x100 [usbcore]
    [] emi26_init+0x0/0x14 [emi26]
    [] do_one_initcall+0x36/0x1b0
    [] sysfs_ilookup_test+0x0/0x10
    [] ifind+0x31/0x90
    [] __sysfs_add_one+0x59/0x80
    [] sysfs_addrm_finish+0x14/0x1c0
    [] __vunmap+0xa3/0xd0
    [] load_module+0x1544/0x1640
    [] sys_init_module+0x87/0x1b0
    [] sys_read+0x41/0x70
    [] sysenter_do_call+0x12/0x21
    [] wait_for_common+0x40/0x110
    Code: 66 c1 e8 08 66 09 d0 75 a5 31 d2 89 e8 e8 72 fc ff ff 85 c0 0f 88 9a 02 00 00 b8 fa 00 00 00 e8 30 46 05 c8 8b 74 24 28 8b 5e 04 03 89 44 24 1c 0f c8 89 44 24 1c 0f b7 4b 04 c7 44 24 20 00
    EIP: [] emi26_probe+0x2f7/0x620 [emi26] SS:ESP 0068:f00ebcfc
    ---[ end trace 2eefa13825431230 ]---

    After the last "package" of firmware data is sent to the device, we dereference
    NULL pointer (on access to rec->addr). Fix it.

    Reported--by: David Flatz
    Tested-by: David Flatz
    Signed-off-by: Marcin Slusarz
    Cc: David Woodhouse
    Cc: stable [2.6.27, 2.6.28]
    Signed-off-by: Greg Kroah-Hartman

    Marcin Slusarz
     

18 Oct, 2008

2 commits


10 Jul, 2008

1 commit


25 Apr, 2008

1 commit


26 Oct, 2007

1 commit


20 Oct, 2007

1 commit

  • * Convert files to UTF-8.

    * Also correct some people's names
    (one example is Eißfeldt, which was found in a source file.
    Given that the author used an ß at all in a source file
    indicates that the real name has in fact a 'ß' and not an 'ss',
    which is commonly used as a substitute for 'ß' when limited to
    7bit.)

    * Correct town names (Goettingen -> Göttingen)

    * Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313)

    Signed-off-by: Jan Engelhardt
    Signed-off-by: Adrian Bunk

    Jan Engelhardt
     

02 Dec, 2006

1 commit


13 May, 2006

1 commit

  • It's become apparent as machines get faster that the emagic kernel firmware
    loaders (based on the ezusb loader) have a reset race. a 400MHz TiBook
    never tripped it, but a 2GHz Pentium M seems to hit it about 30% of the
    time. The bug is seen as a hung USB box and the kernel error:

    drivers/usb/misc/emi62.c: emi62_load_firmware - error loading firmware:
    error = -110

    The patch below inserts a delay after deasserting reset to allow the box to
    settle before a new command is issued. This affects only device startup.

    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Monty
     

05 Jan, 2006

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds