aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/atm
AgeCommit message (Collapse)AuthorFilesLines
2016-08-30usb: atm: usbatm: don't print on ENOMEMWolfram Sang1-6/+1
All kmalloc-based functions print enough information on failures. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-08-30usb: atm: ueagle-atm: don't print on ENOMEMWolfram Sang1-7/+2
All kmalloc-based functions print enough information on failures. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-08-30usb: atm: speedtch: don't print on ENOMEMWolfram Sang1-1/+0
All kmalloc-based functions print enough information on failures. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-08-30usb: atm: cxacru: don't print on ENOMEMWolfram Sang1-3/+1
All kmalloc-based functions print enough information on failures. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-08-15usb: atm: usbatm: don't print error when allocating urb failsWolfram Sang1-1/+0
kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-08-15usb: atm: ueagle-atm: don't print error when allocating urb failsWolfram Sang1-3/+1
kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-08-15usb: atm: cxacru: don't print error when allocating urb failsWolfram Sang1-2/+0
kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-04-28Use "foo *bar" instead of "foo * bar".Sandhya Bankar1-1/+1
Use "foo *bar" instead of "foo * bar". Signed-off-by: Sandhya Bankar <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-04-28usb: Remove unnecessary space before function pointer arguments.Sandhya Bankar1-4/+4
Remove unnecessary space before function pointer arguments. Signed-off-by: Sandhya Bankar <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-02-03USB: cxacru: fix an bounds check warningDan Carpenter1-0/+2
This is a privileged operation so it doesn't matter much. We use "tmp" as an offset into an array. If it were invalid we could read out of bounds and trigger an oops if the memory is not mapped. Plus it makes static checkers complain. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-07-22USB: atm: cxacru: fix blank line after declarationAaron Raimist1-1/+6
Fixed a coding style issue. Adds blank lines after declarations. Signed-off-by: Aaron Raimist <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-07-01Merge tag 'modules-next-for-linus' of ↵Linus Torvalds1-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module updates from Rusty Russell: "Main excitement here is Peter Zijlstra's lockless rbtree optimization to speed module address lookup. He found some abusers of the module lock doing that too. A little bit of parameter work here too; including Dan Streetman's breaking up the big param mutex so writing a parameter can load another module (yeah, really). Unfortunately that broke the usual suspects, !CONFIG_MODULES and !CONFIG_SYSFS, so those fixes were appended too" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (26 commits) modules: only use mod->param_lock if CONFIG_MODULES param: fix module param locks when !CONFIG_SYSFS. rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE() module: add per-module param_lock module: make perm const params: suppress unused variable error, warn once just in case code changes. modules: clarify CONFIG_MODULE_COMPRESS help, suggest 'N'. kernel/module.c: avoid ifdefs for sig_enforce declaration kernel/workqueue.c: remove ifdefs over wq_power_efficient kernel/params.c: export param_ops_bool_enable_only kernel/params.c: generalize bool_enable_only kernel/module.c: use generic module param operaters for sig_enforce kernel/params: constify struct kernel_param_ops uses sysfs: tightened sysfs permission checks module: Rework module_addr_{min,max} module: Use __module_address() for module_address_lookup() module: Make the mod_tree stuff conditional on PERF_EVENTS || TRACING module: Optimize __module_address() using a latched RB-tree rbtree: Implement generic latch_tree seqlock: Introduce raw_read_seqcount_latch() ...
2015-06-23module: add per-module param_lockDan Streetman1-2/+2
Add a "param_lock" mutex to each module, and update params.c to use the correct built-in or module mutex while locking kernel params. Remove the kparam_block_sysfs_r/w() macros, replace them with direct calls to kernel_param_[un]lock(module). The kernel param code currently uses a single mutex to protect modification of any and all kernel params. While this generally works, there is one specific problem with it; a module callback function cannot safely load another module, i.e. with request_module() or even with indirect calls such as crypto_has_alg(). If the module to be loaded has any of its params configured (e.g. with a /etc/modprobe.d/* config file), then the attempt will result in a deadlock between the first module param callback waiting for modprobe, and modprobe trying to lock the single kernel param mutex to set the new module's param. This fixes that by using per-module mutexes, so that each individual module is protected against concurrent changes in its own kernel params, but is not blocked by changes to other module params. All built-in modules continue to use the built-in mutex, since they will always be loaded at runtime and references (e.g. request_module(), crypto_has_alg()) to them will never cause load-time param changing. This also simplifies the interface used by modules to block sysfs access to their params; while there are currently functions to block and unblock sysfs param access which are split up by read and write and expect a single kernel param to be passed, their actual operation is identical and applies to all params, not just the one passed to them; they simply lock and unlock the global param mutex. They are replaced with direct calls to kernel_param_[un]lock(THIS_MODULE), which locks THIS_MODULE's param_lock, or if the module is built-in, it locks the built-in mutex. Suggested-by: Rusty Russell <[email protected]> Signed-off-by: Dan Streetman <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2015-05-10USB: xusbatm.c: move assignment out of if () blockGreg Kroah-Hartman1-2/+4
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. Signed-off-by: Greg Kroah-Hartman <[email protected]> Reviewed-by: Felipe Balbi <[email protected]>
2015-05-10USB: usbatm.c: move assignment out of if () blockGreg Kroah-Hartman1-2/+4
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Duncan Sands <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Reviewed-by: Felipe Balbi <[email protected]>
2015-05-10USB: speedtch.c: move assignment out of if () blockGreg Kroah-Hartman1-6/+12
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Duncan Sands <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Reviewed-by: Felipe Balbi <[email protected]>
2015-03-18ueagle-atm: Delete unnecessary checks before the function call ↵Markus Elfring1-2/+2
"release_firmware" The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-01-08usb: delete non-required instances of include <linux/init.h>Paul Gortmaker3-3/+0
None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-12-08Usb: atm: usbatm: fixed a pointer variable format issueSeth Archer Brown1-4/+4
Fixed a pointer variable format issue. Signed-off-by: Seth Archer Brown <[email protected]> Acked-by: Duncan Sands <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-10-29usbatm: Fix dynamic_debug / ratelimited atm_dbg and atm_rldbg macrosJoe Perches1-7/+7
Fix atm_dbg to use normal pr_debug not dynamic_pr_debug because dynamic_pr_debug may not be compiled in at all. Signed-off-by: Joe Perches <[email protected]> Tested-by: Krzysztof Mazur <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-25usb: atm: speedtch: be careful with bIntervalFelipe Balbi1-1/+1
bInterval must be on the range 1 - 16, if we want to pass the maximum allowed, we should be passing 16. Signed-off-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: usbatm: remove CONFIG_USB_DEBUG dependancyGreg Kroah-Hartman2-7/+3
Now that no USB atm driver is relying on the CONFIG_USB_DEBUG option (well, really the DEBUG option, thanks to some Makefile fun), remove it from the Makefile. Also remove two last vestiges of DEBUG in the usbatm.c driver, moving one to VERBOSE_DEBUG, which no one ever really cares about, and the other to use the dynamic debug subsystem. Cc: Duncan Sands <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: usbatm: move the atm_dbg() call to use dynamic debugGreg Kroah-Hartman1-11/+5
Move the atm_dbg() call to use the dynamic debug subsystem, and not rely on CONFIG_USB_DEBUG for if things should be printed out or not. This also means the drivers do not have to be rebuilt to get debugging messages, important for getting information from users who can not rebuild their kernels. Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: usbatm: don't rely on CONFIG_USB_DEBUGGreg Kroah-Hartman1-6/+1
Enable the USB atm drivers to use the dynamic debugging subsystem, and not rely on if CONFIG_USB_DEBUG is enabled or not for debugging messages. This also provides a saner debug message, pointing out the exact device the message is coming from. This also means the drivers do not have to be rebuilt to get debugging messages, important for getting information from users who can not rebuild their kernels. Cc: Duncan Sands <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: usbatm: remove unneeded trace printk callsGreg Kroah-Hartman1-34/+0
We have an in-kernel trace subsystem, so use that instead of printk for trying to figure out what functions are being called. Cc: Duncan Sands <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: usbatm: remove unused UDSL_ASSERT macroGreg Kroah-Hartman2-20/+0
If this code isn't triggering this assert by now, it never will, so just remove it, it's pointless. Cc: Duncan Sands <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-03drivers: avoid parsing names as kthread_run() format stringsKees Cook1-2/+3
Calling kthread_run with a single name parameter causes it to be handled as a format string. Many callers are passing potentially dynamic string content, so use "%s" in those cases to avoid any potential accidents. Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-05-20USB: cxacru: potential underflow in cxacru_cm_get_array()Dan Carpenter1-1/+2
The value of "offd" comes off the instance->rcv_buf[] and we used it as the offset into an array. The problem is that we check the upper bound but not for negative values. Signed-off-by: Dan Carpenter <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-04-19usbatm: fix potential NULL pointer dereferenceWei Yongjun1-3/+3
The dereference to 'instance' in the debug code should be moved below the NULL test. Signed-off-by: Wei Yongjun <[email protected]> Signed-off-by: Duncan Sands <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-04-09USB: regroup all depends on USB within an if USB blockFlorian Fainelli1-1/+1
This patch removes the depends on USB from all config symbols in drivers/usb/host/Kconfig and replace that with an if USB / endif block as suggested by Alan Stern. Some source ... Kconfig lines have been shuffled around to permit a better regroupment of the Kconfig files depending on "config USB" item. No functionnal change is introduced. Acked-by: Alan Stern <[email protected]> Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-10-02Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds2-2/+2
Pull workqueue changes from Tejun Heo: "This is workqueue updates for v3.7-rc1. A lot of activities this round including considerable API and behavior cleanups. * delayed_work combines a timer and a work item. The handling of the timer part has always been a bit clunky leading to confusing cancelation API with weird corner-case behaviors. delayed_work is updated to use new IRQ safe timer and cancelation now works as expected. * Another deficiency of delayed_work was lack of the counterpart of mod_timer() which led to cancel+queue combinations or open-coded timer+work usages. mod_delayed_work[_on]() are added. These two delayed_work changes make delayed_work provide interface and behave like timer which is executed with process context. * A work item could be executed concurrently on multiple CPUs, which is rather unintuitive and made flush_work() behavior confusing and half-broken under certain circumstances. This problem doesn't exist for non-reentrant workqueues. While non-reentrancy check isn't free, the overhead is incurred only when a work item bounces across different CPUs and even in simulated pathological scenario the overhead isn't too high. All workqueues are made non-reentrant. This removes the distinction between flush_[delayed_]work() and flush_[delayed_]_work_sync(). The former is now as strong as the latter and the specified work item is guaranteed to have finished execution of any previous queueing on return. * In addition to the various bug fixes, Lai redid and simplified CPU hotplug handling significantly. * Joonsoo introduced system_highpri_wq and used it during CPU hotplug. There are two merge commits - one to pull in IRQ safe timer from tip/timers/core and the other to pull in CPU hotplug fixes from wq/for-3.6-fixes as Lai's hotplug restructuring depended on them." Fixed a number of trivial conflicts, but the more interesting conflicts were silent ones where the deprecated interfaces had been used by new code in the merge window, and thus didn't cause any real data conflicts. Tejun pointed out a few of them, I fixed a couple more. * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits) workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending() workqueue: use cwq_set_max_active() helper for workqueue_set_max_active() workqueue: introduce cwq_set_max_active() helper for thaw_workqueues() workqueue: remove @delayed from cwq_dec_nr_in_flight() workqueue: fix possible stall on try_to_grab_pending() of a delayed work item workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback() workqueue: use __cpuinit instead of __devinit for cpu callbacks workqueue: rename manager_mutex to assoc_mutex workqueue: WORKER_REBIND is no longer necessary for idle rebinding workqueue: WORKER_REBIND is no longer necessary for busy rebinding workqueue: reimplement idle worker rebinding workqueue: deprecate __cancel_delayed_work() workqueue: reimplement cancel_delayed_work() using try_to_grab_pending() workqueue: use mod_delayed_work() instead of __cancel + queue workqueue: use irqsafe timer for delayed_work workqueue: clean up delayed_work initializers and add missing one workqueue: make deferrable delayed_work initializer names consistent workqueue: cosmetic whitespace updates for macro definitions workqueue: deprecate system_nrt[_freezable]_wq workqueue: deprecate flush[_delayed]_work_sync() ...
2012-09-13USB: atm: usbatm: fix up debug printing codeGreg Kroah-Hartman1-18/+28
If VERBOSE_DEBUG was enabled, lots of build errors happend (obviously no one uses this mode.) So fix that up, and get rid of the dbg() call, and use dev_dbg() like the rest of the driver does. Cc: Duncan Sands <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-20workqueue: deprecate flush[_delayed]_work_sync()Tejun Heo2-2/+2
flush[_delayed]_work_sync() are now spurious. Mark them deprecated and convert all users to flush[_delayed]_work(). If you're cc'd and wondering what's going on: Now all workqueues are non-reentrant and the regular flushes guarantee that the work item is not pending or running on any CPU on return, so there's no reason to use the sync flushes at all and they're going away. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo <[email protected]> Cc: Russell King <[email protected]> Cc: Paul Mundt <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Jens Axboe <[email protected]> Cc: Mattia Dongili <[email protected]> Cc: Kent Yoder <[email protected]> Cc: David Airlie <[email protected]> Cc: Jiri Kosina <[email protected]> Cc: Karsten Keil <[email protected]> Cc: Bryan Wu <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Alasdair Kergon <[email protected]> Cc: Mauro Carvalho Chehab <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Cc: David Woodhouse <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: [email protected] Cc: Anton Vorontsov <[email protected]> Cc: Sangbeom Kim <[email protected]> Cc: "James E.J. Bottomley" <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Eric Van Hensbergen <[email protected]> Cc: Takashi Iwai <[email protected]> Cc: Steven Whitehouse <[email protected]> Cc: Petr Vandrovec <[email protected]> Cc: Mark Fasheh <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Avi Kivity <[email protected]>
2012-08-15USB: atm: ueagle-atm: Declare MODULE_FIRMWARE usageTim Gardner1-13/+66
Signed-off-by: Tim Gardner <[email protected]> Cc: Stanislaw Gruszka <[email protected]> Acked-by: Matthieu Castet <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-07-16usb: Use eth_random_addrJoe Perches1-2/+2
Convert the existing uses of random_ether_addr to the new eth_random_addr. Signed-off-by: Joe Perches <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-01USB: xusbatm.c: remove dbg() usageGreg Kroah-Hartman1-4/+0
dbg() was a very old USB-specific macro that should no longer be used. This patch removes it from being used in the driver and uses dev_dbg() instead. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-05-01USB: usbatm.c: remove dbg() usageGreg Kroah-Hartman1-21/+9
dbg() was a very old USB-specific macro that should no longer be used. This patch removes it from being used in the driver and uses dev_dbg() instead. CC: Duncan Sands <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-05-01USB: speedtch.c: remove dbg() usageGreg Kroah-Hartman1-1/+1
dbg() was a very old USB-specific macro that should no longer be used. This patch removes it from being used in the driver and uses dev_dbg() instead. CC: Duncan Sands <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-05-01USB: cxacru.c: remove dbg() usageGreg Kroah-Hartman1-17/+17
dbg() was a very old USB-specific macro that should no longer be used. This patch removes it from being used in the driver and uses dev_dbg() instead. CC: Simon Arlott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-04-18usb/atm/ueagle-atm: Don't test for NULL ptr before calling release_firmware()Jesper Juhl1-10/+5
release_firmware() deals gracefullt w/ NULL pointers, no need to check first. Signed-off-by: Jesper Juhl <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-01-13module_param: make bool parameters really bool (drivers & misc)Rusty Russell2-4/+4
module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. Acked-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-11-18USB: convert drivers/usb/* to use module_usb_driver()Greg Kroah-Hartman3-58/+3
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 <[email protected]> Cc: Duncan Sands <[email protected]> Cc: Matthieu CASTET <[email protected]> Cc: Stanislaw Gruszka <[email protected]> Cc: Pete Zaitcev <[email protected]> Cc: Oliver Neukum <[email protected]> Cc: Juergen Stuber <[email protected]> Cc: Cesar Miquel <[email protected]> Cc: Matthew Dharm <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Sarah Sharp <[email protected]> Cc: Kuninori Morimoto <[email protected]> Cc: Felipe Balbi <[email protected]> Cc: Lucas De Marchi <[email protected]> Cc: Michael Hund <[email protected]> Cc: Zack Parsons <[email protected]> Cc: Melchior FRANZ <[email protected]> Cc: Tomoki Sekiyama <[email protected]> Cc: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-07-08drivers: usb: atm: ueagle-atm: Add missing const qualifierChris Forbes1-2/+2
Added missing const qualifier as flagged by checkpatch.pl Signed-off-by: Chris Forbes <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-07-08drivers: usb: atm: ueagle-atm: use __packedChris Forbes1-17/+17
Replaced __attribute__ ((packed)) with __packed; Signed-off-by: Chris Forbes <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-07-01drivers/usb/atm: use printk_ratelimited() instead of printk_ratelimit()Manuel Zerpies1-2/+2
Since printk_ratelimit() shouldn't be used anymore (see comment in include/linux/printk.h), replace it with printk_ratelimited() Signed-off-by: Manuel Zerpies <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-03-31Fix common misspellingsLucas De Marchi1-4/+4
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <[email protected]>
2011-01-22USB: ueagle-atm: use system_wq instead of dedicated workqueuesTejun Heo1-14/+5
With cmwq, there's no reason to use separate workqueues. Drop uea_softc->work_q and use system_wq instead. The used work item is sync flushed on driver detach. Signed-off-by: Tejun Heo <[email protected]> Cc: Stanislaw Gruszka <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-07Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds2-14/+16
* 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits) usb: don't use flush_scheduled_work() speedtch: don't abuse struct delayed_work media/video: don't use flush_scheduled_work() media/video: explicitly flush request_module work ioc4: use static work_struct for ioc4_load_modules() init: don't call flush_scheduled_work() from do_initcalls() s390: don't use flush_scheduled_work() rtc: don't use flush_scheduled_work() mmc: update workqueue usages mfd: update workqueue usages dvb: don't use flush_scheduled_work() leds-wm8350: don't use flush_scheduled_work() mISDN: don't use flush_scheduled_work() macintosh/ams: don't use flush_scheduled_work() vmwgfx: don't use flush_scheduled_work() tpm: don't use flush_scheduled_work() sonypi: don't use flush_scheduled_work() hvsi: don't use flush_scheduled_work() xen: don't use flush_scheduled_work() gdrom: don't use flush_scheduled_work() ... Fixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c as per Tejun.
2010-12-28ueagle-atm: fix PHY signal initialization raceDan Williams1-3/+19
A race exists when initializing ueagle-atm devices where the generic atm device may not yet be created before the driver attempts to initialize it's PHY signal state, which checks whether the atm device has been created or not. This often causes the sysfs 'carrier' attribute to be '1' even though no signal has actually been found. uea_probe usbatm_usb_probe driver->bind (uea_bind) uea_boot kthread_run(uea_kthread) uea_kthread usbatm_atm_init uea_start_reset atm_dev_register UPDATE_ATM_SIGNAL UPDATE_ATM_SIGNAL checks whether the ATM device has been created and if not, will not update the PHY signal state. Because of the race that does not always happen in time, and the PHY signal state remains ATM_PHY_SIG_FOUND even though no signal exists. To fix the race, just create the kthread during initialization, and only after initialization is complete, start the thread that reboots the device and initializes PHY state. [ 3030.490931] uea_probe: calling usbatm_usb_probe [ 3030.490946] ueagle-atm 8-2:1.0: usbatm_usb_probe: trying driver ueagle-atm with vendor=1110, product=9031, ifnum 0 [ 3030.493691] uea_bind: setting usbatm [ 3030.496932] usb 8-2: [ueagle-atm] using iso mode [ 3030.497283] ueagle-atm 8-2:1.0: usbatm_usb_probe: using 3021 byte buffer for rx channel 0xffff880125953508 <kthread already started before usbatm_usb_probe() has returned> [ 3030.497292] usb 8-2: [ueagle-atm] (re)booting started <UPDATE_ATM_SIGNAL checks whether ATM device has been created yet before setting PHY state> [ 3030.497298] uea_start_reset: atm dev (null) <and since it hasn't been created yet PHY state is not set> [ 3030.497306] ueagle-atm 8-2:1.0: usbatm_usb_probe: using 3392 byte buffer for tx channel 0xffff8801259535b8 [ 3030.497374] usbatm_usb_probe: about to init [ 3030.497379] usbatm_usb_probe: calling usbatm_atm_init <atm device finally gets created> [ 3030.497384] usbatm_atm_init: creating atm device! Signed-off-by: Dan Williams <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-12-24usb: don't use flush_scheduled_work()Tejun Heo1-1/+1
flush_scheduled_work() is being deprecated. Directly flush or cancel work items instead. * u_ether, isp1301_omap, speedtch conversions are straight-forward. * ochi-hcd should only flush when quirk_nec() is true as otherwise the work wouldn't have been initialized. * In oti6858, cancel_delayed_work() + flush_scheduled_work() -> cancel_delayed_work_sync(). Signed-off-by: Tejun Heo <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Cc: David Brownell <[email protected]> Cc: Duncan Sands <[email protected]> Cc: [email protected]