summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cfq-iosched: fix merge errorJens Axboe2009-11-031-1/+0
| | | | | | | We ended up with testing the same condition twice, pretty pointless. Remove that first if. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* Merge branch 'for-linus' into for-2.6.33Jens Axboe2009-11-031608-24537/+87755
|\ | | | | | | | | | | | | Conflicts: block/cfq-iosched.c Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
| * cfq-iosched: limit coop preemptionShaohua Li2009-11-031-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CFQ has an optimization for cooperated applications. if several io-context have close requests, they will get boost. But the optimization get abused. Considering thread a, b, which work on one file. a reads sectors s, s+2, s+4, ...; b reads sectors s+1, s+3, s +5, ... Both a and b are sequential read, so they can open idle window. a reads a sector s and goes to idle window and wakeup b. b reads sector s+1, since in current implementation, cfq_should_preempt() thinks a and b are cooperators, b will preempt a. b then reads sector s+1 and goes to idle window and wakeup a. for the same reason, a will preempt b and reads s+2. a and b will continue the circle. The circle will be very long, and a and b will occupy whole disk queue. Other applications will nearly have no chance to run. Fix this limiting coop preempt until a queue is scheduled normally again. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Acked-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
| * cfq-iosched: fix bad return value cfq_should_preempt()Jens Axboe2009-11-031-1/+1
| | | | | | | | | | | | | | | | Commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7 inadvertently reversed a preempt condition check, potentially causing a performance regression. Make the meta check correct again. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
| * backing-dev: bdi sb prune should be in the unregister path, not destroyJens Axboe2009-11-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | Commit 592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8 was different from the tested path, in that it moved the bdi super_block prune from unregister to destroy context. This doesn't fully fix the sync hang bug on unexpected device removal, as need to prune the bdi cache pointer before killing flusher thread. Tested-by: Artur Skawina <art.08.09@gmail.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
| * Fix bio_alloc() and bio_kmalloc() documentationAlberto Bertogli2009-11-021-13/+13
| | | | | | | | | | | | | | | | | | | | | | Commit 451a9ebf accidentally broke bio_alloc() and bio_kmalloc() comments by (almost) swapping them. This patch fixes that, by placing the comments in the right place. Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
| * bio_put(): add bio_clone() to the list of functions in the commentAlberto Bertogli2009-11-021-1/+1
| | | | | | | | | | | | | | | | In bio_put()'s comment, add bio_clone() to the list of functions that can give you a bio reference. Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
| * Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6Linus Torvalds2009-10-3136-3462/+75
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: fix wireless drivers depends Staging: wireless drivers Kconfig change Staging: android: mark subsystem as broken Staging: remove stlc45xx driver Staging: rtl8187se/rtl8192e/rtl8192su: allow module unload Staging: vt6656: fix the memory free bug in vntwusb_disconnect() Staging: Panel: prevent driver from calling misc_deregister twice on same ressource Staging: hv: fix oops in vmbus - missing #include Staging: hv: fix oops in vmbus - netvsc list_head Staging: hv: fix oops in vmbus - udev events Staging: hv: Fix vmbus load hang caused by faulty data packing Staging: hv: Fix null pointer error after vmbus loading Staging: hv TODO patches
| | * Staging: fix wireless drivers dependsRandy Dunlap2009-10-303-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These drivers can (erroneously) be enabled even when CONFIG_NET=n, CONFIG_NETDEVICES=n, CONFIG_WLAN=n, etc. Stop this. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: wireless drivers Kconfig changeGreg Kroah-Hartman2009-10-306-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: android: mark subsystem as brokenGreg Kroah-Hartman2009-10-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: remove stlc45xx driverGreg Kroah-Hartman2009-10-307-3323/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: rtl8187se/rtl8192e/rtl8192su: allow module unloadHerton Ronaldo Krzesinski2009-10-3012-96/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: vt6656: fix the memory free bug in vntwusb_disconnect()miaofng2009-10-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: miaofng <miaofng@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: Panel: prevent driver from calling misc_deregister twice on same ↵Peter Huewe2009-10-301-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ressource 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: Peter Huewe <peterhuewe@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: hv: fix oops in vmbus - missing #includeMilan Dadok2009-10-302-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing #includes to make hv module compile successfull. Signed-off-by: Milan Dadok <milan@dadok.name> Cc: Hank Janssen <hjanssen@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: hv: fix oops in vmbus - netvsc list_headMilan Dadok2009-10-301-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove incorrect list_head usage. Variable of type list_head was used in some function's arguments as list item. Signed-off-by: Milan Dadok <milan@dadok.name> Cc: Hank Janssen <hjanssen@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: hv: fix oops in vmbus - udev eventsMilan Dadok2009-10-301-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix typos in udev event send and guid variables copy Signed-off-by: Milan Dadok <milan@dadok.name> Cc: Hank Janssen <hjanssen@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: hv: Fix vmbus load hang caused by faulty data packingHank Janssen2009-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix vmbus load hang caused by wrong data packing. Signed-off-by: Hank Janssen<hjanssen@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: hv: Fix null pointer error after vmbus loadingHaiyang Zhang2009-10-301-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix null pointer error after vmbus loading. Remove code that checks for dev_name, the affected structure is kzalloc-ed prior to this routine, so it is always null at this stage. Signed-off-by: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: hv TODO patchesStephen Hemminger2009-10-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update for more items Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Cc: Hank Janssen <hjanssen@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com>. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2009-10-315-30/+43
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: fsl_udc_core: Fix kernel oops on module removal USB: option: TLAYTECH TUE800 support USB: r8a66597-hcd: fix cannot detect a device when uses_new_polling is set USB: serial: sierra driver autopm fixes USB: serial: sierra driver send_setup() autopm fix USB: rndis_host: debug info clobbered before it is logged
| | * | USB: fsl_udc_core: Fix kernel oops on module removalAnton Vorontsov2009-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Anton 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: Greg Kroah-Hartman <gregkh@suse.de>
| | * | USB: option: TLAYTECH TUE800 supportBryan Wu2009-10-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ID for Tlaytech TUE800 CDMA modem to the option driver. Signed-off-by: Bryan Wu <bryan.wu@canonical.com> Acked-By: Matthias Urlichs <matthias@urlichs.de> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | USB: r8a66597-hcd: fix cannot detect a device when uses_new_polling is setYoshihiro Shimoda2009-10-301-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | USB: serial: sierra driver autopm fixesElina Pasheva2009-10-301-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Elina Pasheva <epasheva@sierrawireless.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | USB: serial: sierra driver send_setup() autopm fixElina Pasheva2009-10-301-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Elina Pasheva <epasheva@sierrawireless.com> Tested-by: Matthew Safar <msafar@sierrawireless.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | USB: rndis_host: debug info clobbered before it is loggedGeorge Nassar2009-10-301-3/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: George Nassar <george.nassar@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6Linus Torvalds2009-10-312-6/+6
| |\ \ | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: tty: Mark generic_serial users as BROKEN
| | * | tty: Mark generic_serial users as BROKENAlan Cox2009-10-302-6/+6
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | There isn't much else I can do with these. I can find no hardware for any of them and no users. The code is broken. Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6Linus Torvalds2009-10-317-44/+206
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: Documentation: ABI: /sys/devices/system/cpu/cpu#/node Documentation: ABI: /sys/devices/system/cpu/cpuidle/ Documentation: ABI: /sys/devices/system/cpu/sched_[mc|smt]_power_savings Documentation: ABI: /sys/devices/system/cpu/cpu#/ topology files Documentation: ABI: /sys/devices/system/cpu/ topology files Documentation: ABI: document /sys/devices/system/cpu/ Documentation: ABI: rename sysfs-devices-cache_disable properly Driver core: allow certain drivers prohibit bind/unbind via sysfs Driver core: fix driver_register() return value
| | * | Documentation: ABI: /sys/devices/system/cpu/cpu#/nodeAlex Chiang2009-10-301-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Describe NUMA node symlink created for CPUs when CONFIG_NUMA is set. Cc: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Documentation: ABI: /sys/devices/system/cpu/cpuidle/Alex Chiang2009-10-301-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Alex Chiang <achiang@hp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Documentation: ABI: /sys/devices/system/cpu/sched_[mc|smt]_power_savingsAlex Chiang2009-10-301-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Alex Chiang <achiang@hp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Documentation: ABI: /sys/devices/system/cpu/cpu#/ topology filesAlex Chiang2009-10-302-17/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Alex Chiang <achiang@hp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Documentation: ABI: /sys/devices/system/cpu/ topology filesAlex Chiang2009-10-301-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Alex Chiang <achiang@hp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Documentation: ABI: document /sys/devices/system/cpu/Alex Chiang2009-10-301-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Alex Chiang <achiang@hp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Documentation: ABI: rename sysfs-devices-cache_disable properlyAlex Chiang2009-10-301-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: David Rientjes <rientjes@google.com> Signed-off-by: Alex Chiang <achiang@hp.com> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Driver core: allow certain drivers prohibit bind/unbind via sysfsDmitry Torokhov2009-10-303-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Dmitry Torokhov <dtor@mail.ru> Cc: Éric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | Driver core: fix driver_register() return valueStas Sergeev2009-10-301-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Stas Sergeev <stsp@aknet.ru> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6Linus Torvalds2009-10-316-40/+36
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] smp: fix sigp sense handling [S390] smp: fix sigp stop handling [S390] cputime: fix overflow on 31 bit systems [S390] call home: fix string length handling [S390] call home: fix error handling in init function [S390] smp: fix prefix handling of offlined cpus [S390] s/r: cmm resume fix [S390] call home: fix local buffer usage in proc handler
| | * | [S390] smp: fix sigp sense handlingHeiko Carstens2009-10-292-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sigp sense only returns the status of a cpu if it is non zero. If the status of the sensed cpu is all zeros condition code 0 (accpeted) is set and no status bits are returned. The current code however assumes that a status was returned and tests bits in it. This means uninitalized data is accessed with random results. Worst case is that the code that checks if cpu is offline on cpu hotplug assumes that the target cpu is offline while it is still running. This leads potentially to memory corruption since resources that are still needed by the target cpu will be freed and could be resused while still in use. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| | * | [S390] smp: fix sigp stop handlingHeiko Carstens2009-10-293-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the architecture a cpu must not necessarily enter stopped state after completion of a sigp instruction with "stop" order code. So remove the BUG() statement after self sending sigp stop to avoid that it ever gets reached. Also add a sigp busy check to make sure that the order gets delivered. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| | * | [S390] cputime: fix overflow on 31 bit systemsMartin Schwidefsky2009-10-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cputime_to_msecs / cputime_to_clock_t and cputime64_to_clock_t cause fixpoint divide exceptions if the cputime is too large. On a machine that collected 49.7 days worth of idle time reading from /proc/stat will generate oopses like this: Kernel BUG at 001b0c92 [verbose debug info unavailable] fixpoint divide exception: 0009 [#13] SMP Modules linked in: ipv6 CPU: 1 Tainted: G D 2.6.27.10 #5 Process cat (pid: 21352, task: 1fb34138, ksp: 1d2a3d98) Krnl PSW : 070c2000 801b0c92 (show_stat+0x2ca/0x68c) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 Krnl GPRS: 00000001 00001388 00000bb8 0015d2a1 00000000 00000000 000003e8 0001fd91 00000000 00000000 0000129d eecd2ff0 1cc533b9 0036f780 801b0bce 1d2a3cc0 Krnl Code: 801b0c86: f18890abf198 mvo 171(9,%r9),408(9,%r15) 801b0c8c: 98abf170 lm %r10,%r11,368(%r15) 801b0c90: 1da1 dr %r10,%r1 >801b0c92: 90abf170 stm %r10,%r11,368(%r15) 801b0c96: 98abf190 lm %r10,%r11,400(%r15) 801b0c9a: 1da1 dr %r10,%r1 801b0c9c: 90abf190 stm %r10,%r11,400(%r15) 801b0ca0: 18a3 lr %r10,%r3 Call Trace: ([<00000000001b09f4>] show_stat+0x2c/0x68c) [<000000000018dcee>] seq_read+0xb2/0x364 [<00000000001a9980>] proc_reg_read+0x68/0x98 [<00000000001705ee>] vfs_read+0x6e/0xe8 [<0000000000170732>] sys_read+0x36/0x78 [<000000000010f750>] sysc_do_restart+0x12/0x16 [<0000000077f3ad6a>] 0x77f3ad6a <4>---[ end trace 1436ea9559d3de9e ]--- Reported-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| | * | [S390] call home: fix string length handlingHeiko Carstens2009-10-291-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After copying uts->nodename to the static nodename array the static version isn't necessarily zero termininated, since the size of the array is one byte too short. Afterwards doing strncat(data, nodename, strlen(nodename)); may copy an arbitrary large amount of bytes. Fix this by getting rid of the static array and using strncat with proper length limit. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| | * | [S390] call home: fix error handling in init functionHeiko Carstens2009-10-291-18/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix missing unregister_sysctl_table in case the SCLP doesn't provide the requested feature. Also simplify the whole error handling while at it. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| | * | [S390] smp: fix prefix handling of offlined cpusHeiko Carstens2009-10-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Offlined cpus still have valid prefix register contents. Dumpers will store the register contents of a cpu to the location where its prefix register points to. For offlined cpus the area (lowcore) has been freed and the dumper would write the uninteresting contents of the offline cpu to a memory location which might be in use by some other component and destroy valueable information. To fix this set the prefix register of offline cpus to absolute address zero again. This prevents the current dumpers to write to random memory locations. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| | * | [S390] s/r: cmm resume fixMartin Schwidefsky2009-10-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a suspended z/VM guest has been logged off before the resume the 'SET SMSG IUCV' CP command need to be repeated to reenable sending message via SMSG. This fixes the following error: HCPMFS057I H4214002 not receiving; SMSG off Error: non-zero CP response for command 'SMSG H4214002 CMM SHRINK 5010': #57 Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| | * | [S390] call home: fix local buffer usage in proc handlerSebastian Ott2009-10-291-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the size of the local buffer and use snprintf to prevent further miscalculations. Also fix the usage of bitwise vs logic operations. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| * | | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/fs/xfs/xfsLinus Torvalds2009-10-312-1/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://git.kernel.org/pub/scm/fs/xfs/xfs: xfs: fix xfs_quota remove error xfs: free temporary cursor in xfs_dialloc
OpenPOWER on IntegriCloud