1. 13 11月, 2009 3 次提交
    • N
      md/raid5: Allow dirty-degraded arrays to be assembled when only party is degraded. · c148ffdc
      NeilBrown 提交于
      Normally is it not safe to allow a raid5 that is both dirty and
      degraded to be assembled without explicit request from that admin, as
      it can cause hidden data corruption.
      This is because 'dirty' means that the parity cannot be trusted, and
      'degraded' means that the parity needs to be used.
      
      However, if the device that is missing contains only parity, then
      there is no issue and assembly can continue.
      This particularly applies when a RAID5 is being converted to a RAID6
      and there is an unclean shutdown while the conversion is happening.
      
      So check for whether the degraded space only contains parity, and
      in that case, allow the assembly.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      c148ffdc
    • N
      Don't unconditionally set in_sync on newly added device in raid5_reshape · 7ef90146
      NeilBrown 提交于
      When a reshape finds that it can add spare devices into the array,
      those devices might already be 'in_sync' if they are beyond the old
      size of the array, or they might not if they are within the array.
      
      The first case happens when we change an N-drive RAID5 to an
      N+1-drive RAID5.
      The second happens when we convert an N-drive RAID5 to an
      N+1-drive RAID6.
      
      So set the flag more carefully.
      Also, ->recovery_offset is only meaningful when the flag is clear,
      so only set it in that case.
      
      This change needs the preceding two to ensure that the non-in_sync
      device doesn't get evicted from the array when it is stopped, in the
      case where v0.90 metadata is used.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      7ef90146
    • N
      md: allow v0.91 metadata to record devices as being active but not in-sync. · 0261cd9f
      NeilBrown 提交于
      This is a combination that didn't really make sense before.
      However when a reshape is converting e.g. raid5 -> raid6, the extra
      device is not fully in-sync, but is certainly active and contains
      important data.
      So allow that start to be meaningful and in particular get
      the 'recovery_offset' value (which is needed for any non-in-sync
      active device) from the reshape_position.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      0261cd9f
  2. 12 11月, 2009 1 次提交
    • N
      md: factor out updating of 'recovery_offset'. · 5e865106
      NeilBrown 提交于
      Each device has its own 'recovery_offset' showing how far
      recovery has progressed on the device.
      As the only real significance of this is that fact that it can
      be stored in the metadata and recovered at restart, and as
      only 1.x metadata can do this, we were only updating
      'recovery_offset' to 'curr_resync_completed' when updating
      v1.x metadata.
      But this is wrong, and we will shortly make limited use of this
      field in v0.90 metadata.
      
      So move the update into common code.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      5e865106
  3. 06 11月, 2009 2 次提交
    • N
      md/raid5: make sure curr_sync_completes is uptodate when reshape starts · 8dee7211
      NeilBrown 提交于
      This value is visible through sysfs and is used by mdadm
      when it manages a reshape (backing up data that is about to be
      rearranged).  So it is important that it is always correct.
      Current it does not get updated properly when a reshape
      starts which can cause problems when assembling an array
      that is in the middle of being reshaped.
      
      This is suitable for 2.6.31.y stable kernels.
      
      Cc: stable@kernel.org
      Signed-off-by: NNeilBrown <neilb@suse.de>
      8dee7211
    • N
      md: don't clear endpoint for resync when resync is interrupted. · 24395a85
      NeilBrown 提交于
      If a 'sync_max' has been set (via sysfs), it is wrong to clear it
      until a resync (or reshape or recovery ...) actually reached that
      point.
      So if a resync is interrupted (e.g. by device failure),
      leave 'resync_max' unchanged.
      
      This is particularly important for 'reshape' operations that do not
      change the size of the array.  For such operations mdadm needs to
      monitor the reshape taking rolling backups of the section being
      reshaped.  If resync_max gets cleared, the reshape can get ahead of
      mdadm and then the backups that mdadm creates are useless.
      
      This is suitable for 2.6.31.y stable kernels.
      Cc: stable@kernel.org
      Signed-off-by: NNeilBrown <neilb@suse.de>
      24395a85
  4. 01 11月, 2009 9 次提交
  5. 31 10月, 2009 25 次提交
    • A
      Documentation: ABI: /sys/devices/system/cpu/cpu#/node · 657348a0
      Alex Chiang 提交于
      Describe NUMA node symlink created for CPUs when CONFIG_NUMA is set.
      
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      657348a0
    • A
      Documentation: ABI: /sys/devices/system/cpu/cpuidle/ · c1fb5c47
      Alex Chiang 提交于
      Document cpuidle sysfs attributes by reading code, Documentation/cpuidle/,
      and git logs.
      
      Cc: Venki Pallipadi <venkatesh.pallipadi@intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c1fb5c47
    • A
      Documentation: ABI: /sys/devices/system/cpu/sched_[mc|smt]_power_savings · e6dcfa7c
      Alex Chiang 提交于
      Document sched_[mc|smt]_power_savings by reading existing code and
      git logs.
      
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e6dcfa7c
    • A
      Documentation: ABI: /sys/devices/system/cpu/cpu#/ topology files · 663fb2fc
      Alex Chiang 提交于
      Add brief descriptions for the following sysfs files:
      
      	/sys/devices/system/cpu/cpu#/topology/core_id
      	/sys/devices/system/cpu/cpu#/topology/core_siblings
      	/sys/devices/system/cpu/cpu#/topology/core_siblings_list
      	/sys/devices/system/cpu/cpu#/topology/physical_package_id
      	/sys/devices/system/cpu/cpu#/topology/thread_siblings
      	/sys/devices/system/cpu/cpu#/topology/thread_siblings_list
      
      The descriptions in Documentation/cputopology.txt weren't very
      informative, so I attempted a better description based on code
      reading and hopeful guessing.
      
      Updated Documentation/cputopology.txt with the better descriptions and
      fixed some style issues.
      
      Cc: Mike Travis <travis@sgi.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      663fb2fc
    • A
      Documentation: ABI: /sys/devices/system/cpu/ topology files · d93fc863
      Alex Chiang 提交于
      Add brief descriptions for the following sysfs files:
      
      	/sys/devices/system/cpu/kernel_max
      	/sys/devices/system/cpu/offline
      	/sys/devices/system/cpu/online
      	/sys/devices/system/cpu/possible
      	/sys/devices/system/cpu/present
      
      Excerpted the relevant information from Documentation/cputopology.txt
      and pointed back to cputopology.txt as the authoritative source of
      information.
      
      Cc: Mike Travis <travis@sgi.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d93fc863
    • A
      Documentation: ABI: document /sys/devices/system/cpu/ · 2ceb3fb0
      Alex Chiang 提交于
      This interface has been around for a long time, but hasn't been
      officially documented.
      
      Document the top level sysfs directory for CPU attributes.
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2ceb3fb0
    • A
      Documentation: ABI: rename sysfs-devices-cache_disable properly · 468727ab
      Alex Chiang 提交于
      Rename sysfs-devices-cache_disable to sysfs-devices-system-cpu, in
      order to keep a stricter correlation between a sysfs directory and
      its documentation.
      Reported-by: NDavid Rientjes <rientjes@google.com>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      468727ab
    • D
      Driver core: allow certain drivers prohibit bind/unbind via sysfs · 1a6f2a75
      Dmitry Torokhov 提交于
      Platform drivers registered via platform_driver_probe() can be bound
      to devices only once, upon registration, because discard their probe()
      routines to save memory. Unbinding the driver through sysfs 'unbind'
      leaves the device stranded and confuses users so let's not create
      bind and unbind attributes for such drivers.
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      Cc: Éric Piel <eric.piel@tremplin-utc.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1a6f2a75
    • S
      Driver core: fix driver_register() return value · 39acbc12
      Stas Sergeev 提交于
      In this patch:
      http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=16dc42e018c2868211b4928f20a957c0c216126c
      the check was added for another driver to already claim the same device
      on the same bus. But the returned error code was wrong: to modprobe, the
      -EEXIST means that _this_ driver is already installed. It therefore
      doesn't produce the needed error message when _another_ driver is trying
      to register for the same device.  Returning -EBUSY fixes the problem.
      Signed-off-by: NStas Sergeev <stsp@aknet.ru>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      39acbc12
    • A
      USB: fsl_udc_core: Fix kernel oops on module removal · 37c4fd8c
      Anton Vorontsov 提交于
      fsl_udc_release() calls dma_free_coherent() with an inappropriate
      device passed to it, and since the device has no dma_ops, the following
      oops pops up:
      
        Kernel BUG at d103ce9c [verbose debug info unavailable]
        Oops: Exception in kernel mode, sig: 5 [#1]
        ...
        NIP [d103ce9c] fsl_udc_release+0x50/0x80 [fsl_usb2_udc]
        LR [d103ce74] fsl_udc_release+0x28/0x80 [fsl_usb2_udc]
        Call Trace:
        [cfbc7dc0] [d103ce74] fsl_udc_release+0x28/0x80 [fsl_usb2_udc]
        [cfbc7dd0] [c01a35c4] device_release+0x2c/0x90
        [cfbc7de0] [c016b480] kobject_cleanup+0x58/0x98
        [cfbc7e00] [c016c52c] kref_put+0x54/0x6c
        [cfbc7e10] [c016b360] kobject_put+0x34/0x64
        [cfbc7e20] [c01a1d0c] put_device+0x1c/0x2c
        [cfbc7e30] [d103dbfc] fsl_udc_remove+0xc0/0x1e4 [fsl_usb2_udc]
        ...
      
      This patch fixes the issue by passing dev->parent, which points to
      a correct device.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Cc: Li Yang <leoli@freescale.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Guennadi Liakhovetski <lg@denx.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      37c4fd8c
    • B
      USB: option: TLAYTECH TUE800 support · fead2ab6
      Bryan Wu 提交于
      Add ID for Tlaytech TUE800 CDMA modem to the option driver.
      Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
      Acked-By: NMatthias Urlichs <matthias@urlichs.de>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fead2ab6
    • Y
    • E
      USB: serial: sierra driver autopm fixes · b64dc0a5
      Elina Pasheva 提交于
      This patch presents fixes for the autosuspend feature implementation in
      sierra usb serial driver in  functions sierra_open(), sierra_close() and
      stop_read_write_urbs().
      
      The patch "sierra_close() must resume the device before it notifies it
      of a closure" submitted by Oliver Neukum on Wed, October 14 has been
      merged as fix in sierra_close() function.
      
      The bug fix  in sierra_open() function restores the autopm interface
      state on error condition.
      
      The bug fix in in stop_read_write_urbs() function assures that both
      receive and interrupt urbs are recycled.
      Signed-off-by: NElina Pasheva <epasheva@sierrawireless.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      b64dc0a5
    • E
      USB: serial: sierra driver send_setup() autopm fix · 3c77d513
      Elina Pasheva 提交于
      This patch presents a fix for the autosuspend feature implementation in
      sierra usb serial driver for function sierra_send_setup().  Because it
      is possible to call sierra_send_setup() before sierra_open() or after
      sierra_close() we added a get/put interface activity to assure that the
      usb control can happen even when the device is autosuspended.
      Signed-off-by: NElina Pasheva <epasheva@sierrawireless.com>
      Tested-by: NMatthew Safar <msafar@sierrawireless.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      3c77d513
    • G
      USB: rndis_host: debug info clobbered before it is logged · 40ac7b62
      George Nassar 提交于
      The MTU throttle-down if a RNDIS device doesn't support a particular
      packet size is being incorrectly logged.  The attempted packet size is
      being clobbered before it gets logged.
      
      First patch; please inform if I'm doing this incorrectly.  Diff'd
      against latest official source as per the FAQ; forward port to current
      git version is straightforward.
      Signed-off-by: NGeorge Nassar <george.nassar@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      40ac7b62
    • R
      Staging: fix wireless drivers depends · b881c6cb
      Randy Dunlap 提交于
      These drivers can (erroneously) be enabled even when
      CONFIG_NET=n, CONFIG_NETDEVICES=n, CONFIG_WLAN=n, etc.
      Stop this.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b881c6cb
    • G
      Staging: wireless drivers Kconfig change · 049e6261
      Greg Kroah-Hartman 提交于
      Change the wireless drivers to depend on CONFIG_WLAN instead of
      CONFIG_WLAN_80211 which is going away soon.
      
      
      Cc: John W. Linville <linville@tuxdriver.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      049e6261
    • G
      Staging: android: mark subsystem as broken · 2cdf99ce
      Greg Kroah-Hartman 提交于
      It's causing lots of build errors, so just mark it as broken.  It is
      scheduled to be removed in 2.6.33 anyway.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2cdf99ce
    • G
      Staging: remove stlc45xx driver · 9ab1b56a
      Greg Kroah-Hartman 提交于
      It's no longer needed as the p54spi driver is the same thing,
      under a different name and in the correct portion of the kernel tree.
      
      
      Cc: Javier Martinez Canillas <martinez.javier@gmail.com>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9ab1b56a
    • H
      Staging: rtl8187se/rtl8192e/rtl8192su: allow module unload · a010a337
      Herton Ronaldo Krzesinski 提交于
      On rtl81* additions, they had its wireless stack made builtin instead of
      separated modules. But try_module_get/module_put in stack were kept,
      they are uneeded with the stack builtin and makes rtl81* modules
      impossible to remove on a system with an rtl81* card. request_module
      calls are also uneeded with stack builtin, so remove them too.
      Signed-off-by: NHerton Ronaldo Krzesinski <herton@mandriva.com.br>
      Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a010a337
    • M
      Staging: vt6656: fix the memory free bug in vntwusb_disconnect() · 557c0288
      miaofng 提交于
      This patch is used to solve the memory bug when people plug out the wusb card then plug in.
      Error logs are following:
      
      root@smdk2440:~# ifdown eth1
      AP deauthed me, reason=2.
      Config_FileOperation file Not exist
      Zone=[1][J][P]!!
      WPA: Terminating
      root@smdk2440:~#  ----> !!!!!!!!!!!!!!here plug out the wusbcard
      usb 1-1: USB disconnect, address 4
      ----> !!!!!!!!!!!!!!!!!!!here plug in the wusb card
      usb 1-1: new full speed USB device using s3c2410-ohci and address 5
      usb 1-1: New USB device found, idVendor=160a, idProduct=3184
      usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      usb 1-1: Product: VNT USB-802.11 Wireless LAN Adapter
      usb 1-1: Manufacturer: VIA Networking Technologies, Inc.
      usb 1-1: configuration #1 chosen from 1 choice
      VIA Networking Wireless LAN USB Driver Ver. 1.19_12
      Copyright (c) 2004 VIA Networking Technologies, Inc.
      kernel BUG at mm/slab.c:2974!
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = c0004000
      [00000000] *pgd=00000000
      Internal error: Oops: 817 [#1] PREEMPT
      Modules linked in: vt6656_stage
      CPU: 0    Not tainted  (2.6.32-rc2 #14)
      PC is at __bug+0x1c/0x28
      LR is at __bug+0x18/0x28
      pc : [<c002fb10>]    lr : [<c002fb0c>]    psr: 40000093
      sp : c3867c68  ip : c3867bd0  fp : c3866000
      r10: c3800600  r9 : c3802430  r8 : 00000004
      r7 : c3802428  r6 : c3802660  r5 : c3802420  r4 : a0000013
      r3 : 00000000  r2 : c3866000  r1 : 00000003  r0 : 00000024
      Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 0000717f  Table: 330a8000  DAC: 00000017
      Process khubd (pid: 152, stack limit = 0xc3866270)
      Stack: (0xc3867c68 to 0xc3868000)
      7c60:                   c0093fdc c0094088 000000d0 000000d0 00000000 000080d0
      7c80: 00000000 a0000013 c39ebec0 c3800600 000080d0 00000001 c03f13cc 00000006
      7ca0: c02b36f0 c0094574 c0043428 0001c9de c39ebec0 c39ebea0 c3000c00 c02a6a84
      7cc0: 89705f41 c3000c00 c39ebec0 c39ebea0 c3000c00 bf036f24 c39ebec8 00000006
      7ce0: 00000000 c3000c00 c39ebec0 c39ebea0 c3000c00 bf036f24 c39ebec8 00000006
      7d00: 00000000 bf003398 c00aa514 c3867d20 0000a1ff c00e1448 c39d9f84 c39aabe8
      7d20: c3867d50 c00e1888 c39aabe8 c39ebea0 c39ebec0 bf036ebc c3000c00 bf036f24
      7d40: 0000bec8 01000000 00000000 c39ebea0 c39ebec0 bf036ebc c3000c00 bf036f24
      7d60: c39ebec8 00000000 00000000 c0223798 c39ebec0 c01daa14 bf036eec c3867da0
      7d80: c045a4f8 c01da6e4 c39ebec0 00000000 c01daa14 c39ebec0 c3867da0 c01d9870
      7da0: c38331a8 c39fcb94 c005b3b4 c39ebec0 c39ebec0 c39ebef4 00000000 c01da890
      7dc0: c39ebec0 c39ebec0 c3000c00 c01d97f4 00000000 c01d8470 c39ebea0 c3000c68
      7de0: 00000000 c3000c68 c3218a00 c3abcd20 00000001 c39ebec0 c39ebea0 c3000c00
      7e00: 00000000 c3000c68 c3218a00 c3abcd20 00000001 c0221ee8 00000001 00000000
      7e20: 00000000 00000000 00001388 00000000 c3000c04 c3000c68 c3bc29c0 00000001
      7e40: c3bc29c4 00000001 c03f4af8 00000000 c39fe780 c3000c00 00000001 c045ab04
      7e60: c3867eb8 c045a3bc c3000c70 00000000 00000000 c0229238 c3000c68 c0223210
      7e80: c3000c00 c045aaf0 c045ab04 c0223230 c3000c68 c01daa14 c045ab04 c01da6e4
      7ea0: c3000c68 00000000 c01daa14 c3000c68 c3867eb8 c01d9870 c38331a8 c3862f54
      7ec0: c005b3b4 c3000c68 c3000c68 c3000c9c 00000002 c01da890 c3867ef9 c3000c68
      7ee0: c3829f60 c01d97f4 00000000 c01d8470 c38918e0 c3aaf468 39383102 c300343a
      7f00: 00000001 c0219660 c03f1768 c3000c00 00000000 c3000c68 00000002 c3aaf814
      7f20: 00000001 00000101 c38918e0 c021b6e0 00000002 00000000 00000000 c3000c00
      7f40: c38917c0 c021c418 00000064 00000064 00000101 c3867f60 c005b920 c3867f94
      7f60: c3891830 c3aaf400 c3866000 c3aaf400 c3aaf800 00000000 c38918e0 c3aaf400
      7f80: 00000012 00000000 00000000 c3837920 c00574a0 c3867f94 c3867f94 00000101
      7fa0: 01010001 c3867fd4 c381bf48 c3867fd4 c381bf48 00000000 c021ba3c 00000000
      7fc0: 00000000 00000000 00000000 c00573dc 00000000 00000000 c3867fd8 c3867fd8
      7fe0: 00000000 00000000 00000000 00000000 00000000 c002ce88 00000000 ffff0000
      [<c002fb10>] (__bug+0x1c/0x28) from [<c0094088>] (cache_alloc_refill+0x13c/0x594)
      [<c0094088>] (cache_alloc_refill+0x13c/0x594) from [<c0094574>] (__kmalloc+0x94/0xd0)
      [<c0094574>] (__kmalloc+0x94/0xd0) from [<c02a6a84>] (alloc_netdev_mq+0x48/0x1b0)
      [<c02a6a84>] (alloc_netdev_mq+0x48/0x1b0) from [<bf003398>] (vntwusb_found1+0x58/0x53c [vt6656_stage])
      [<bf003398>] (vntwusb_found1+0x58/0x53c [vt6656_stage]) from [<c0223798>] (usb_probe_interface+0x130/0x180)
      [<c0223798>] (usb_probe_interface+0x130/0x180) from [<c01da6e4>] (driver_probe_device+0xac/0x164)
      [<c01da6e4>] (driver_probe_device+0xac/0x164) from [<c01d9870>] (bus_for_each_drv+0x50/0x90)
      [<c01d9870>] (bus_for_each_drv+0x50/0x90) from [<c01da890>] (device_attach+0x50/0x68)
      [<c01da890>] (device_attach+0x50/0x68) from [<c01d97f4>] (bus_probe_device+0x28/0x54)
      [<c01d97f4>] (bus_probe_device+0x28/0x54) from [<c01d8470>] (device_add+0x3b4/0x4f0)
      [<c01d8470>] (device_add+0x3b4/0x4f0) from [<c0221ee8>] (usb_set_configuration+0x524/0x5b8)
      [<c0221ee8>] (usb_set_configuration+0x524/0x5b8) from [<c0229238>] (generic_probe+0x5c/0xa0)
      [<c0229238>] (generic_probe+0x5c/0xa0) from [<c0223230>] (usb_probe_device+0x48/0x54)
      [<c0223230>] (usb_probe_device+0x48/0x54) from [<c01da6e4>] (driver_probe_device+0xac/0x164)
      [<c01da6e4>] (driver_probe_device+0xac/0x164) from [<c01d9870>] (bus_for_each_drv+0x50/0x90)
      [<c01d9870>] (bus_for_each_drv+0x50/0x90) from [<c01da890>] (device_attach+0x50/0x68)
      [<c01da890>] (device_attach+0x50/0x68) from [<c01d97f4>] (bus_probe_device+0x28/0x54)
      [<c01d97f4>] (bus_probe_device+0x28/0x54) from [<c01d8470>] (device_add+0x3b4/0x4f0)
      [<c01d8470>] (device_add+0x3b4/0x4f0) from [<c021b6e0>] (usb_new_device+0x100/0x174)
      [<c021b6e0>] (usb_new_device+0x100/0x174) from [<c021c418>] (hub_thread+0x9dc/0xeec)
      [<c021c418>] (hub_thread+0x9dc/0xeec) from [<c00573dc>] (kthread+0x78/0x80)
      [<c00573dc>] (kthread+0x78/0x80) from [<c002ce88>] (kernel_thread_exit+0x0/0x8)
      Code: e1a01000 e59f000c eb005014 e3a03000 (e5833000)
      ---[ end trace 2a51e0dbab9e4fbe ]---
      note: khubd[152] exited with preempt_count 1
      Signed-off-by: Nmiaofng <miaofng@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      557c0288
    • P
      Staging: Panel: prevent driver from calling misc_deregister twice on same ressource · 0b0595bf
      Peter Huewe 提交于
      This patch prevents the driver from calling misc_deregister twice on the same
      ressouce when unloading the driver.
      Unloading the driver without this patch results in a Kernel BUG like this:
      Panel driver version 0.9.5 registered on parport0 (io=0x378).
      BUG: unable to handle kernel paging request at 0000000000100108
      IP: [<ffffffff803c02ee>] misc_deregister+0x2d/0x90
      PGD 6caff067 PUD 762b7067 PMD 0
      Oops: 0002 [#1] PREEMPT SMP
      last sysfs file: /sys/devices/platform/w83627hf.656/in8_input
      ...
      
      This patch fixes this issue, although maybe not in the best way possible :)
      
      linux version v2.6.32-rc1 - linus git tree, Di 29. Sep 01:10:18 CEST 2009
      Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0b0595bf
    • M
      Staging: hv: fix oops in vmbus - missing #include · 9fcfeab4
      Milan Dadok 提交于
      Add missing #includes to make hv module compile successfull.
      Signed-off-by: NMilan Dadok <milan@dadok.name>
      Cc: Hank Janssen <hjanssen@microsoft.com>
      Cc: Haiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9fcfeab4
    • M
      Staging: hv: fix oops in vmbus - netvsc list_head · 92ec0893
      Milan Dadok 提交于
      Remove incorrect list_head usage. Variable of type list_head was used in
      some function's arguments as list item.
      Signed-off-by: NMilan Dadok <milan@dadok.name>
      Cc: Hank Janssen <hjanssen@microsoft.com>
      Cc: Haiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      92ec0893
    • M
      Staging: hv: fix oops in vmbus - udev events · 9fb5cce4
      Milan Dadok 提交于
      Fix typos in udev event send and guid variables copy
      Signed-off-by: NMilan Dadok <milan@dadok.name>
      Cc: Hank Janssen <hjanssen@microsoft.com>
      Cc: Haiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9fb5cce4