aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2010-07-01drm/radeon/kms: fix DP after DPMS cycleAlex Deucher1-2/+2
The transmitter needs to be enabled before the link is trained. Reported-By: Lars Doelle <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: stable <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: fix dpms state on resumeCedric Godin1-0/+7
When suspending, we turn the display hw off, at resume the screen will stay black. This patch turn it on. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=16180 Signed-off-by: Cedric Godin <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-07-01drm/radeon/kms: fix bandwidth calculation when sideport is presentAlex Deucher1-5/+1
Fixes fdo bug 27529: https://bugs.freedesktop.org/show_bug.cgi?id=27529 Reported-by: [email protected] Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6Linus Torvalds16-68/+145
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: rtl8192u_usb: Add LG device ID 043e:7a01 Staging: rtl8192s_usb: Remove duplicate device ID Staging: rt2870: add device id for Zyxel NWD-270N Staging: comedi: fix read past end of array in cb_pcidda_attach() Staging: rtl8192su: add device ids Staging: rtl8192su: remove device ids Staging: rtl8187se: Fix compile warnings in 2.6.35-rc2 Staging: wlags49_h2: Fix build error when CONFIG_SYSFS is not set Staging: wlags49_h2: add missing <linux/string.h> for strlen Staging: hv: fix hv_utils module to properly autoload staging: hv: Fix race condition on vmbus channel initialization Staging: comedi: drivers: adl_pci9111: Fix AI commands in TRIG_FOLLOW case Staging: mrst-touchscreen: fix dereferencing free memory Staging: batman-adv: fix function prototype Staging: batman-adv: return -EFAULT on copy_to_user errors staging: usbip: usbip_common: kill rx thread on tx thread creation error.
2010-06-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds19-225/+209
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (22 commits) USB: gadget: f_mass_storage: stale common->fsg value bug fix USB: gadget: f_mass_storage: fixed fs descriptors not being updated USB: musb: Enable the maximum supported burst mode for DMA USB: musb: fix Blackfin ulpi stubs USB: MUSB: make non-OMAP platforms build with CONFIG_PM=y USB: musb_core: make disconnect and suspend interrupts work again USB: obey the sysfs power/wakeup setting USB: gadget eth: Fix calculate CRC32 in EEM USB: qcserial: fix a memory leak in qcprobe error path USB: gadget/printer, fix sleep inside atomic USB: isp1362-hcd, fix double lock USB: serial: ftdi: correct merge conflict with CONTEC id USB: fix oops in usb_sg_init() USB: s3c2410: deactivate endpoints before gadget unbinding USB: ehci-mxc: bail out on transceiver problems USB: otg/ulpi: bail out on read errors usb: musb: Fix a bug by making suspend interrupt available in device mode USB: r8a66597: Fix failure in change of status USB: xHCI: Fix bug in link TRB activation change. USB: gadget: g_fs: possible invalid pointer reference bug fixed ...
2010-06-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6Linus Torvalds1-64/+79
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: serial: cpm_uart: implement the cpm_uart_early_write() function for console poll
2010-06-30Staging: rtl8192u_usb: Add LG device ID 043e:7a01Ben Hutchings1-0/+2
Add another device ID as listed in the vendor driver version 0003.0825.2009. Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: rtl8192s_usb: Remove duplicate device IDBen Hutchings1-1/+0
Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: rt2870: add device id for Zyxel NWD-270NOzan Çağlayan1-0/+1
Add device id for Zyxel NWD-270N USB dongle. Signed-off-by: Ozan Çağlayan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: comedi: fix read past end of array in cb_pcidda_attach()Dan Carpenter1-2/+1
There are only 6 elements in the cb_pcidda_boards[] array so the original code read past the end. After this change nothing uses N_BOARDS so I removed the definition. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: rtl8192su: add device idsFlorian Schilhabel1-7/+23
This patch adds some device ids. The list of supported devices was extracted from realteks driver package. (0x050d, 0x815F) and (0x0df6, 0x004b) are not in the official list of supported devices and may not work correctly. In case of problems with these, they should probably be removed from the list. Signed-off-by: Florian Schilhabel <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: rtl8192su: remove device idsFlorian Schilhabel1-14/+0
This patch removes some device-ids. The list of unsupported devices was extracted from realteks driver package. removed IDs are: (0x0bda, 0x8192) (0x0bda, 0x8709) (0x07aa, 0x0043) (0x050d, 0x805E) (0x0df6, 0x0031) (0x1740, 0x9201) (0x2001, 0x3301) (0x5a57, 0x0290) These devices are _not_ rtl819su based. Signed-off-by: Florian Schilhabel <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: rtl8187se: Fix compile warnings in 2.6.35-rc2Larry Finger1-2/+0
In commit bbfb5652, the spacing in the definitions of eqMacAddr and cpMacAddr in drivers/staging/rtl8187se/r8180_core.c were changed to conform to kernel standards. These definitions were duplicates of lines found in drivers/staging/rtl8187se/ieee80211/dot11d.h. Once the change was made, the following warnings were emitted: CC [M] drivers/staging/rtl8187se/r8180_core.o drivers/staging/rtl8187se/r8180_core.c:69:0: warning: "eqMacAddr" redefined drivers/staging/rtl8187se/ieee80211/dot11d.h:39:0: note: this is the location of the previous definition drivers/staging/rtl8187se/r8180_core.c:70:0: warning: "cpMacAddr" redefined drivers/staging/rtl8187se/ieee80211/dot11d.h:40:0: note: this is the location of the previous definition The fix is to keep only the difinition in the header file. Signed-off-by: Larry Finger <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: wlags49_h2: Fix build error when CONFIG_SYSFS is not setJavier Martinez Canillas1-2/+2
I got a wlags49_h2 driver build error in linux-next when CONFIG_SYSFS is not set. CC [M] drivers/staging/wlags49_h2/wl_cs.o In file included from drivers/staging/wlags49_h2/wl_cs.c:104: drivers/staging/wlags49_h2/wl_sysfs.h: In function ‘register_wlags_sysfs’: drivers/staging/wlags49_h2/wl_sysfs.h:5: error: parameter name omitted drivers/staging/wlags49_h2/wl_sysfs.h: In function ‘unregister_wlags_sysfs’: drivers/staging/wlags49_h2/wl_sysfs.h:6: error: parameter name omitted make[1]: *** [drivers/staging/wlags49_h2/wl_cs.o] Error 1 make: *** [_module_drivers/staging/wlags49_h2] Error 2 This is due a wrong function definition (it does not include parameters names). Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: wlags49_h2: add missing <linux/string.h> for strlenJeff Mahoney1-0/+1
On ia64, the build fails with incompatible implicit definition of strlen. This patch adds the <linux/string.h> include to get the real prototype. Signed-off-by: Jeff Mahoney <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: hv: fix hv_utils module to properly autoloadHaiyang Zhang1-0/+28
Added autoloading based on pci id and dmi strings. Signed-off-by: Haiyang Zhang <[email protected]> Signed-off-by: Hank Janssen <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30staging: hv: Fix race condition on vmbus channel initializationHaiyang Zhang3-11/+35
There is a possible race condition when hv_utils starts to load immediately after hv_vmbus is loading - null pointer error could happen. This patch added wait/completion to ensure all channels are ready before vmbus loading completes. So another module won't have any uninitialized channel. Signed-off-by: Haiyang Zhang <[email protected]> Signed-off-by: Hank Janssen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: comedi: drivers: adl_pci9111: Fix AI commands in TRIG_FOLLOW caseIan Abbott1-3/+6
I received a report that AI streaming acquisitions do not work properly for the adl_pci9111 driver when convert_src is TRIG_TIMER and scan_begin_src is TRIG_FOLLOW (and scan_begin_arg is therefore 0). This seems to be down to the incorrect setting of dev_private->scan_delay in pci9111_ai_do_cmd(). Under the previously stated conditions, dev_private->scan_delay ends up set to (unsigned int)-1, but it ought to be set to 0. The function sets it to 0 initially, and it only makes sense to change it if both convert_src and scan_begin_src are set to TRIG_TIMER. Note: 'scan_delay' is the number of unwanted scans to discard after each valid scan. The hardware does not support 'scan' timing as such, just a regularly paced conversion timer (with automatic channel switching between conversions). The driver simulates a scan period that is some (>1) multiple of the conversion period times the scan length (chanlist_len samples) by reading chanlist_len samples and discarding the next scan_delay times chanlist_len samples. Signed-off-by: Ian Abbott <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: mrst-touchscreen: fix dereferencing free memoryDan Carpenter1-1/+1
I moved the kfree() down a couple lines after the dereference. Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Alan Cox <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: batman-adv: fix function prototypeJavier Martinez Canillas1-12/+12
In today linux-next I got a compile warning in staging/batman-adv. This is due a struct bin_attribute read function prototype change and the driver was not updated. This patch solves the issue Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Sven Eckelmann <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30Staging: batman-adv: return -EFAULT on copy_to_user errorsDan Carpenter1-1/+1
copy_to_user() returns the number of bites remaining but we want to return a negative error code here. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Sven Eckelmann <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30staging: usbip: usbip_common: kill rx thread on tx thread creation error.Himanshu Chauhan1-13/+33
Signed-off-by: Himanshu Chauhan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: gadget: f_mass_storage: stale common->fsg value bug fixMichal Nazarewicz1-99/+61
On fsg_unbind the common->fsg pointer was not NULLed if the unbound fsg_dev instance was the current one. As an effect, the incorrect pointer was preserved in all further operations which caused do_set_interface to reference an invalid region. This commit fixes this by raising an exception in fsg_bind which will change the common->fsg pointer. This also requires an wait queue so that the thread in fsg_bind can wait till the worker thread handles the exception. This commit removes also a config and new_config fields of fsg_common as they are no longer needed since fsg can be used to determine whether function is active or not. Moreover, this commit removes possible race condition where the fsg field was modified in both the worker thread and form various other contexts. This is fixed by replacing prev_fsg with new_fsg. At this point, fsg is assigned only in worker thread. Signed-off-by: Michal Nazarewicz <[email protected]> Cc: Kyungmin Park <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: gadget: f_mass_storage: fixed fs descriptors not being updatedMichal Nazarewicz1-22/+12
The full speed descriptors were copied to the usb_function structure in the fsg_bind_config function before call to the usb_ep_autoconfig. The usb_ep_autoconfig was called in fsg_bind using the original descriptors. In effect copied descriptors were not updated. This patch changes the copy full speed descriptors after the call to usb_op_autoconfig is performed. This way, copied full speed descriptors have updated values. Signed-off-by: Michal Nazarewicz <[email protected]> Cc: Kyungmin Park <[email protected]> Reported-by: Dries Van Puymbroeck <[email protected]> Tested-by: Dries Van Puymbroeck <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: musb: Enable the maximum supported burst mode for DMAHema HK1-11/+2
Setting MUSB Burst Mode 3 automatically enables support for lower burst modes (BURST4, BURST8, BURST16 or bursts of unspecified length). There is no need to set these burst modes based on the packet size. Also enable the burst mode for both mode1 and mode0. This is a fix for buggy hardware - having the lower burst modes enabled can potentially cause lockups of the DMA engine used in OMAP2/3/4 chips. Signed-off-by: Hema HK <[email protected]> Signed-off-by: Anand Gadiyar <[email protected]> Signed-off-by: Ajay Kumar Gupta <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: musb: fix Blackfin ulpi stubsMike Frysinger1-2/+2
The new ulpi code defines fallback stubs for the Blackfin arch, but does so incorrectly leading to a build failure: drivers/usb/musb/musb_core.c:227: error: 'musb_ulpi_read' undeclared here (not in a function) drivers/usb/musb/musb_core.c:228: error: 'musb_ulpi_write' undeclared here (not in a function) Tweak the fallback stubs so that they do work as intended. Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Ajay Kumar Gupta <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: MUSB: make non-OMAP platforms build with CONFIG_PM=ySergei Shtylyov1-2/+4
Attempt to build MUSB driver with CONFIG_PM=y (e.g. in the OTG mode) on DaVinci results in these link errors: drivers/built-in.o: In function `musb_restore_context': led-triggers.c:(.text+0x714d8): undefined reference to `musb_platform_restore_context' drivers/built-in.o: In function `musb_save_context': led-triggers.c:(.text+0x71788): undefined reference to `musb_platform_save_context' This turned out to be caused by commit 9957dd97ec5e98dd334f87ade1d9a0b24d1f86eb (usb: musb: Fix compile error for omaps for musb_hdrc). Revert it, taking into account the rename of CONFIG_ARCH_OMAP34XX into CONFIG_ARCH_OMAP3 (which that commit fixed in a completely inappropriate way) and the recent addition of OMAP4 support. Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Ajay Kumar Gupta <[email protected]> Acked-by: Felipe Balbi <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: musb_core: make disconnect and suspend interrupts work againSergei Shtylyov1-5/+1
Commit 1c25fda4a09e8229800979986ef399401053b46e (usb: musb: handle irqs in the order dictated by programming guide) forgot to get rid of the old 'STAGE0_MASK' filter for calling musb_stage0_irq(), so now disconnect and suspend interrupts are effectively ignored... Signed-off-by: Sergei Shtylyov <[email protected]> Cc: stable <[email protected]> Signed-off-by: Ajay Kumar Gupta <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: obey the sysfs power/wakeup settingAlan Stern1-10/+3
This patch (as1403) is a partial reversion of an earlier change (commit 5f677f1d45b2bf08085bbba7394392dfa586fa8e "USB: fix remote wakeup settings during system sleep"). After hearing from a user, I realized that remote wakeup should be enabled during system sleep whenever userspace allows it, and not only if a driver requests it too. Indeed, there could be a device with no driver, that does nothing but generate a wakeup request when the user presses a button. Such a device should be allowed to do its job. The problem fixed by the earlier patch -- device generating a wakeup request for no reason, causing system suspend to abort -- was also addressed by a later patch ("USB: don't enable remote wakeup by default", accepted but not yet merged into mainline). The device won't be able to generate the bogus wakeup requests because it will be disabled for remote wakeup by default. Hence this reversion will not re-introduce any old problems. Signed-off-by: Alan Stern <[email protected]> Cc: stable <[email protected]> [.34] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: gadget eth: Fix calculate CRC32 in EEMJiri Pinkava1-2/+1
CRC should be calculated for Ethernet frame, not for whole recievede EEM data. This bug shows rarely, because in many times len == skb->len. Signed-off-by: Jiri Pinkava <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: qcserial: fix a memory leak in qcprobe error pathAxel Lin1-0/+3
This patch adds missing kfree(data) before return -ENODEV. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: gadget/printer, fix sleep inside atomicJiri Slaby1-16/+16
Stanse found that sleep is called inside atomic context created by lock_printer_io spinlock in several functions. It's used in process context only and some functions sleep inside its critical section. As this is not allowed for spinlocks, switch it to mutex. Signed-off-by: Jiri Slaby <[email protected]> Cc: Craig W. Nadler <[email protected]> Acked-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: isp1362-hcd, fix double lockJiri Slaby1-5/+10
Stanse found that isp1362_sw_reset tries to take a isp1362_hcd->lock, but it is already held in isp1362_hc_stop. Avoid that by introducing __isp1362_sw_reset which doesn't take the lock and call it from isp1362_hc_stop. isp1362_sw_reset is then as simple as lock -- __isp1362_sw_reset -- unlock. Signed-off-by: Jiri Slaby <[email protected]> Cc: Lothar Wassmann <[email protected]> Cc: Michael Hennerich <[email protected]> Cc: Bryan Wu <[email protected]> Cc: Mike Frysinger <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: serial: ftdi: correct merge conflict with CONTEC idDaniel Sangorrin2-8/+0
This patch corrects a problem with the merge of a previous patch to add the CONTEC identifier. I believe the merge problem occurred with the commit: dee5658b482e9e2ac7d6205dc876fc11d4008138 Originally I submitted a patch and then they asked me to order the IDs and resubmit, so did I. But unfortunately in the end somehow both patches were merged. Signed-off-by: Daniel Sangorrin <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: fix oops in usb_sg_init()Alan Stern1-2/+5
This patch (as1401) fixes a bug in usb_sg_init() that can cause an invalid pointer dereference. An inner loop reuses some local variables in an unsafe manner, so new variables are introduced. Signed-off-by: Alan Stern <[email protected]> Tested-by: Ajay Kumar Gupta <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: s3c2410: deactivate endpoints before gadget unbindingVladimir Zapolskiy1-1/+5
Gadget disconnect must be called before unbinding to avoid races. The change fixes an oops on g_ether module unregistering. Signed-off-by: Vladimir Zapolskiy <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: ehci-mxc: bail out on transceiver problemsWolfram Sang1-3/+10
The old code registered the hcd even if there were no transceivers detected, leading to oopses like this if we try to probe a non-existant ULPI: [ 2.730000] mxc-ehci mxc-ehci.0: unable to init transceiver [ 2.740000] timeout polling for ULPI device [ 2.740000] timeout polling for ULPI device [ 2.750000] mxc-ehci mxc-ehci.0: unable to enable vbus on transceiver [ 2.750000] mxc-ehci mxc-ehci.0: Freescale On-Chip EHCI Host Controller [ 2.760000] mxc-ehci mxc-ehci.0: new USB bus registered, assigned bus number 2 [ 2.770000] Unhandled fault: external abort on non-linefetch (0x808) at 0xc4876184 [ 2.770000] Internal error: : 808 [#1] PREEMPT [ 2.770000] last sysfs file: [ 2.770000] Modules linked in: [ 2.770000] CPU: 0 Not tainted (2.6.33.5 #5) [ 2.770000] PC is at ehci_hub_control+0x4d4/0x8f8 [ 2.770000] LR is at ehci_mxc_setup+0xbc/0xdc [ 2.770000] pc : [<c0196dfc>] lr : [<c019bc8c>] psr: 00000093 [ 2.770000] sp : c3815e40 ip : 00000001 fp : 60000013 [ 2.770000] r10: c4876184 r9 : 00000000 r8 : c3814000 [ 2.770000] r7 : c391d2cc r6 : 00000001 r5 : 00000001 r4 : 00000000 [ 2.770000] r3 : 80000000 r2 : 00000007 r1 : 80000000 r0 : c4876184 [ 2.770000] Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel [ 2.770000] Control: 0005317f Table: a0004000 DAC: 00000017 [ 2.770000] Process swapper (pid: 1, stack limit = 0xc3814270) ... Signed-off-by: Wolfram Sang <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: stable <[email protected]> Acked-by: Daniel Mack <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: otg/ulpi: bail out on read errorsWolfram Sang1-6/+11
otg_read may return errnos, so bail out correctly to prevent bogus ID-numbers. Signed-off-by: Wolfram Sang <[email protected]> Cc: Sascha Hauer <[email protected]> Acked-by: Daniel Mack <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30usb: musb: Fix a bug by making suspend interrupt available in device modeMaulik Mankad1-1/+2
As a part of aligning the ISR code for MUSB with the specs, the ISR code was re-written. See Commit 1c25fda4a09e8229800979986ef399401053b46e (usb: musb: handle irqs in the order dictated by programming guide) With this the suspend interrupt came accidently under CONFIG_USB_MUSB_HDRC_HCD. The fix brings suspend interrupt handling outside CONFIG_USB_MUSB_HDRC_HCD. Signed-off-by: Maulik Mankad <[email protected]> Cc: David Brownell <[email protected]> Acked-by: Felipe Balbi <[email protected]> Cc: stable <[email protected]> [.34] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: r8a66597: Fix failure in change of statusNobuhiro Iwamatsu1-1/+1
In the change by 749da5f82fe33ff68dd4aa1a5e35cd9aa6246dab, The change in the status when the USB device is connected is wrong. Therefore, the device is not recognized. Acked-by: Alan Stern <[email protected]> CC: Yoshihiro Shimoda <[email protected]> CC: Paul Mundt" <[email protected]> Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: xHCI: Fix bug in link TRB activation change.Sarah Sharp1-16/+46
Commit 6c12db90f19727c76990e7f4801c67a148b30111 introduced a bug for control transfers. The patch was supposed to change when the link TRBs at the end of each ring segment were given to the hardware. If a transfer descriptor (TD) ended just before the link TRB, the code wouldn't give back the link TRB to the hardware; instead it would be given back in prepare_ring() just before the next TD was enqueued at the top of the ring. Unfortunately, the code relied on checking the chain bit of the TRB to determine whether the TD ended just before the link TRB. It assumed that the ring enqueuing code would call prepare_ring() before enqueuing the next TD. However, control transfers are made of multiple TDs, and prepare_ring() is only called once before enqueuing two or three TDs. If the first or second TD of the control transfer ended just before the link TRB, then the code in inc_enq() would not move the enqueue pointer past the link TRB, and the link TRB would get overwritten. This would cause the xHCI driver to start writing to memory past the ring segment, and eventually the system would crash or hang. The fix is to add a flag to inc_enq() that says whether the caller will enqueue more TDs before calling prepare_ring(). If the chain bit is cleared (meaning this is the last TRB in a TD), and the caller will not enqueue more TDs, then we defer giving back the link TRB. Signed-off-by: Sarah Sharp <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: gadget: g_fs: possible invalid pointer reference bug fixedMichal Nazarewicz1-0/+11
During __gfs_do_config() some invalid pointers may be left in usb_configuration::interfaces array from previous calls to the __gfs_do_config() for the same configuration. This will always happen if an user space function which has a fewer then the last user space function registers itself. Composite's set_config() function that a pointer after the last interface in usb_configuration::interface is NULL unless the array is full. This patch makes the __gfs_do_config() make sure that if the usb_configuration::interface is not full then a pointer after the last interface is NULL. Signed-off-by: Michal Nazarewicz <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: g_serial: fix tty cleanup on unloadJon Povey1-0/+1
Call put_tty_driver() in cleanup function, to fix Oops when trying to open gadget serial char device after module unload. Signed-off-by: Jon Povey <[email protected]> Acked-by: David Brownell <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30USB: g_serial: don't set low_latency flagJon Povey1-13/+2
No longer set low_latency flag as it causes this warning backtrace: WARNING: at kernel/mutex.c:207 __mutex_lock_slowpath+0x6c/0x288() Fix associated locking and wakeups. Signed-off-by: Jon Povey <[email protected]> Cc: Maulik Mankad <[email protected]> Cc: stable <[email protected]> Acked-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-30serial: cpm_uart: implement the cpm_uart_early_write() function for console pollDongdong Deng1-64/+79
The cpm_uart_early_write() function which was used for console poll isn't implemented in the cpm uart driver. Implementing this function both fixes the build when CONFIG_CONSOLE_POLL is set and allows kgdboc to work via the cpm uart. Signed-off-by: Dongdong Deng <[email protected]> Reviewed-by: Bruce Ashfield <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-06-29drivers/video/nuc900fb.c: fix lcd build errorWan ZongShun1-2/+0
Fix a nuc900 lcd build error. Since the 'nuc900_driver_clksrc_div()' API cannot be merged into mainline successfully, I removed this clock source selection hook in this driver. This means nuc900 lcd driver has to select default clock source from the external crystal now. Signed-off-by: Wan ZongShun <[email protected]> Cc: Qiang Wang <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-06-29drivers/gpio is platform-neutralDavid Brownell2-2/+6
Update Kconfig and Makefile in drivers/gpio to discourage inappropriate addition of platform-specific code. [[email protected]: fix tpyo] Signed-by: David Brownell <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-06-29rtc: fix ds1388 time corruptionJoakim Tjernlund1-2/+2
The ds1307 driver misreads the ds1388 registers when checking for 12 or 24 hour mode. Instead of checking the hour register it reads the minute register. Therefore the driver thinks minutes >= 40 has the 12HR bit set and resets the minute register by zeroing the high bits. This results in minutes are reset to 0-9, jumping back in time 40 or 50 minutes. The time jump is also written back to the RTC. Signed-off-by: Joakim Tjernlund <[email protected]> Cc: Wan ZongShun <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-06-29ipmi: set schedule_timeout_wait() value back to oneMartin Wilck1-1/+1
Fix a regression introduced by ae74e823cb7d ("ipmi: add parameter to limit CPU usage in kipmid"). Some systems were seeing CPU usage go up dramatically with the recent changes to try to reduce timer usage in the IPMI driver. This was traced down to schedule_timeout_interruptible(1) being changed to schedule_timeout_interruptbile(0). Revert that part of the change. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16147 Reported-by: Thomas Jarosch <[email protected]> Signed-off-by: Corey Minyard <[email protected]> Tested-by: Thomas Jarosch <[email protected]> Cc: <[email protected]> [2.6.34.x] Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-06-29ipmi: make sure drivers were registered before unregistering themMatthew Garrett1-4/+17
The ipmi code will never register a PCI or Open Firmware driver if a hardcoded device is provided by the user by providing device addresses via the module parameters. This can cause us to attempt to unregister a driver that was never registered, resulting in an oops. Keep track of registration in order to avoid this. Fixes a post-2.6.34 regression. Signed-off-by: Matthew Garrett <[email protected]> Acked-by: Corey Minyard <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>