aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2010-06-02sata_nv: don't diddle with nIEN on mcp55Tejun Heo1-2/+0
On mcp55, nIEN gets stuck once set and liteon blueray rom iHOS104-08 violates ATA specification and fails to set I on D2H Reg FIS if nIEN is set when the command was issued. When the other party is following the spec, both devices can work fine but when the two flaws are put together, they can't talk to each other. mcp55 has its own IRQ masking mechanism and there's no reason to mess with nIEN in the first place. Fix it by dropping nIEN diddling from nv_mcp55_freeze/thaw(). This was originally reported by Cengiz. Although Cengiz hasn't verified the fix yet, I could reproduce this problem and verfiy the fix. Even if Cengiz is experiencing different or additional problems, this patch is needed. Signed-off-by: Tejun Heo <[email protected]> Reported-by: Cengiz Günay <[email protected]> Cc: [email protected] Signed-off-by: Jeff Garzik <[email protected]>
2010-06-02sata_via: magic vt6421 fix for transmission problems w/ WD drivesTejun Heo1-0/+13
vt6421 has problems talking to recent WD drives. It causes a lot of transmission errors while high bandwidth transfer as reported in the following bugzilla entry. https://bugzilla.kernel.org/show_bug.cgi?id=15173 Joseph Chan provided the following fix. I don't have any idea what it does but I can verify the issue is gone with the patch applied. Signed-off-by: Tejun Heo <[email protected]> Originally-from: Joseph Chan <[email protected]> Reported-by: Jorrit Tijben <[email protected]> Cc: [email protected] Signed-off-by: Jeff Garzik <[email protected]>
2010-06-02firewire: core: check for 1394a compliant IRM, fix inaccessibility of Sony ↵Stefan Richter1-5/+19
camcorder Per IEEE 1394 clause 8.4.2.3, a contender for the IRM role shall check whether the current IRM complies to 1394a-2000 or later. If not force a compliant node (e.g. itself) to become IRM. This was implemented in the older ieee1394 driver but not yet in firewire-core. An older Sony camcorder (Sony DCR-TRV25) which implements 1394-1995 IRM but neither 1394a-2000 IRM nor BM was now found to cause an interoperability bug: - Camcorder becomes root node when plugged in, hence gets IRM role. - firewire-core successfully contends for BM role, proceeds to perform gap count optimization and resets the bus. - Sony camcorder ignores presence of a BM (against the spec, this is a firmware bug), performs its idea of gap count optimization and resets the bus. - Preceding two steps are repeated endlessly, bus never settles, regular I/O is practically impossible. http://thread.gmane.org/gmane.linux.kernel.firewire.user/3913 This is an interoperability regression from the old to the new drivers. Fix it indirectly by adding the 1394a IRM check. The spec suggests three and a half methods to determine 1394a compliance of a remote IRM; we choose the method of testing the Config_ROM.Bus_Info.generation field. This is data that firewire-core should have readily available at this point, i.e. does not require extra I/O. Reported-by: Clemens Ladisch <[email protected]> (missing 1394a check) Reported-by: H. S. <[email protected]> (issue with Sony DCR-TRV25) Tested-by: H. S. <[email protected]> Cc: <[email protected]> # .32.x and newer Signed-off-by: Stefan Richter <[email protected]>
2010-06-02mtd/r852: update card detect early.Maxim Levitsky1-1/+1
This turns out to be the reason for DMA timeouts on resume, if card was inserted while system was suspended Signed-off-by: Maxim Levitsky <[email protected]> Signed-off-by: David Woodhouse <[email protected]>
2010-06-02mtd/r852: Fixes in case of DMA timeoutMaxim Levitsky1-3/+11
* Don't call complete on dma completion * do a INIT_COMPLETE before using it each time * Report DMA read error via ecc 'correct' I finally managed to make my system do suspend to ram propertly, and I see that if card was inserted during suspend (while system was off), I get dma timeouts on resume. Simple card reinsert solves the issue. This patch solves a crash that would happen otherwise Signed-off-by: Maxim Levitsky <[email protected]> Signed-off-by: David Woodhouse <[email protected]>
2010-06-02mtd/r852: register IRQ as last stepMaxim Levitsky1-5/+6
Otherwise, if it fires right away, it might access uninitialized spinlock Signed-off-by: Maxim Levitsky <[email protected]> Signed-off-by: David Woodhouse <[email protected]>
2010-06-02net/fec: fix pm to survive to suspend/resumeEric Bénard1-8/+8
* in the actual driver, calling fec_stop and fec_enet_init doesn't allow to have a working network interface at resume (where a ifconfig down and up is required to recover the interface) * by using fec_enet_close and fec_enet_open, this patch solves this problem and handle the case where the link changed between suspend and resume * this patch also disable clock at suspend and reenable it at resume Signed-off-by: Eric Bénard <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-02korina: count RX DMA OVR as rx_fifo_errorPhil Sutter1-1/+1
This way, RX DMA overruns (actually being caused by overrun of the 512byte input FIFO) show up in ifconfig output. The rx_fifo_errors counter is unused otherwise. Signed-off-by: Phil Sutter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-02korina: use netdev_alloc_skb_ip_align() here, tooPhil Sutter1-2/+1
This patch completes commit 89d71a66c40d629e3b1285def543ab1425558cd5 which missed this spot, as it seems. Signed-off-by: Phil Sutter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-02korina: fix deadlock on RX FIFO overrunPhil Sutter1-14/+13
By calling korina_restart(), the IRQ handler tries to disable the interrupt it's currently serving. This leads to a deadlock since disable_irq() waits for any running IRQ handlers to finish before returning. This patch addresses the issue by turning korina_restart() into a workqueue task, which is then scheduled when needed. Reproducing the deadlock is easily done using e.g. GNU netcat to send large amounts of UDP data to the host running this driver. Note that the same problem (and fix) applies to TX FIFO underruns, but apparently these are less easy to trigger. Signed-off-by: Phil Sutter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-02Merge branch 'fix/hda' into for-linusTakashi Iwai35-1123/+2685
2010-06-02enic: bug fix: make the set/get netlink VF_PORT support symmetricalScott Feldman2-103/+104
To make get/set netlink VF_PORT truly symmetrical, we need to keep track of what items are set and only return those items on get. Previously, the driver wasn't differentiating between a set of attr with a NULL string, for example, and not setting the attr at all. We only want to return the NULL string if the attr was actually set with a NULL string. Otherwise, don't return the attr. Signed-off-by: Scott Feldman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-02bnx2: Fix hang during rmmod bnx2.Michael Chan1-1/+13
The regression is caused by: commit 4327ba435a56ada13eedf3eb332e583c7a0586a9 bnx2: Fix netpoll crash. If ->open() and ->close() are called multiple times, the same napi structs will be added to dev->napi_list multiple times, corrupting the dev->napi_list. This causes free_netdev() to hang during rmmod. We fix this by calling netif_napi_del() during ->close(). Also, bnx2_init_napi() must not be in the __devinit section since it is called by ->open(). Signed-off-by: Michael Chan <[email protected]> Signed-off-by: Benjamin Li <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-02sh: Make intc messages consistent via pr_fmt.Paul Mundt1-5/+7
Wrapping pr_fmt to the KBUILD_MODNAME prefix seems to be the trendy thing to do these days, so just do that instead of manually tidying up the stragglers. Signed-off-by: Paul Mundt <[email protected]>
2010-06-02clocksource: sh_cmt: compute mult and shift before registrationPaul Mundt1-9/+13
Based on the sh_tmu change in 66f49121ffa41a19c59965b31b046d8368fec3c7 ("clocksource: sh_tmu: compute mult and shift before registration"). The same issues impact the sh_cmt driver, so we take the same approach here. Cc: [email protected] Signed-off-by: Paul Mundt <[email protected]>
2010-06-02clocksource: sh_tmu: compute mult and shift before registrationAurelien Jarno1-9/+11
Since commit 98962465ed9e6ea99c38e0af63fe1dcb5a79dc25 ("nohz: Prevent clocksource wrapping during idle"), the CPU of an R2D board never goes to idle. This commit assumes that mult and shift are assigned before the clocksource is registered. As a consequence the safe maximum sleep time is negative and the CPU never goes into idle. This patch fixes the problem by moving mult and shift initialization from sh_tmu_clocksource_enable() to sh_tmu_register_clocksource(). Signed-off-by: Aurelien Jarno <[email protected]> Cc: [email protected] Signed-off-by: Paul Mundt <[email protected]>
2010-06-02powerpc/macio: Fix probing of macio devices by using the right of match tableBenjamin Herrenschmidt12-27/+53
Grant patches added an of mach table to struct device_driver. However, while he changed the macio device code to use that, he left the match table pointer in struct macio_driver and didn't update drivers to use the "new" one, thus breaking the probing. This completes the change by moving all drivers to setup the "new" one, removing all traces of the old one, and while at it (since it changes the exact same locations), I also remove two other duplicates from struct driver which are the name and owner fields. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-06-02agp/uninorth: Fix oops caused by flushing too muchPaul Mackerras1-1/+1
This fixes a sporadic oops at boot on G5 Power Macs. The table_end variable has the address of the last byte of the table. Adding on PAGE_SIZE means we flush too much, and if the page after the table is not mapped for any reason, the kernel will oops. Instead we add on 1 because flush_dcache_range() interprets its second argument as the first byte past the range to be flushed. Signed-off-by: Paul Mackerras <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-06-02powerpc/macio: Don't dereference pointer before null checkAndreas Schwab1-3/+4
Signed-off-by: Andreas Schwab <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-06-02Input: ads7846 - fix compiler warning in ads7846_probe()Dmitry Torokhov1-1/+1
This patch fixes the follwing warning introduced by commit 067fb2f648543894ce775082c5636f4c32b99e4f ("Input: ads7846 - return error on regulator_get() failure"): drivers/input/touchscreen/ads7846.c: In function 'ads7846_probe': drivers/input/touchscreen/ads7846.c:1167: warning: format '%ld' expects type 'long int', but argument 4 has type 'int' Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-02Merge branch 'sh/iomap'Paul Mundt6-41/+42
2010-06-02usb: r8a66597-hcd pio to mmio accessor conversion.Paul Mundt2-15/+15
r8a66597-hcd is erroneously using PIO routines on MMIO registers, which presently blows up for any platform that elects to either override or do away with PIO routines. This managed to work for the common cases since the PIO routines were simply wrapped to their MMIO counterparts. This switches over to using the MMIO routines directly, and enables us to kill off a lot of superfluous casting in the process. Acked-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-06-02usb: gadget: r8a66597-udc pio to mmio accessor conversion.Paul Mundt2-14/+14
r8a66597-udc is erroneously using PIO routines on MMIO registers, which presently blows up for any platform that elects to either override or do away with PIO routines. This managed to work for the common cases since the PIO routines were simply wrapped to their MMIO counterparts. This switches over to using the MMIO routines directly, and enables us to kill off a lot of superfluous casting in the process. Acked-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-06-02usb: gadget: m66592-udc pio to mmio accessor conversion.Paul Mundt1-11/+11
m66592-udc is erroneously using PIO routines on MMIO registers, which presently blows up for any platform that elects to either override or do away with PIO routines. This managed to work for the common cases since the PIO routines were simply wrapped to their MMIO counterparts. This switches over to using the MMIO routines directly, and enables us to kill off a lot of superfluous casting in the process. Acked-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-06-02Input: tps6507x-ts - a couple work queue cleanupsDan Carpenter1-8/+4
1) Use msecs_to_jiffies() instead of calculating by hand. 2) Call cancel_delayed_work_sync() instead of cancel_delayed_work() followed by a separate flush_workqueue(). 3) Remove the "tsc->wq = 0;" Sparse complains about that because tsc->wq is a pointer, not an int. It's not needed because we just free the pointer anyway. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-01Merge branches 'bugzilla-14668' and 'misc-2.6.35' into releaseLen Brown3685-146652/+342606
2010-06-01Merge branch 'drm-intel-next' of ↵Linus Torvalds20-1081/+2586
git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (41 commits) drm/i915: add HAS_BSD check to i915_getparam drm/i915: Honor sync polarity from VBT panel timing descriptors drm/i915: Unmask interrupt for render engine on Sandybridge drm/i915: Fix PIPE_CONTROL command on Sandybridge drm/i915: Fix up address spaces in slow_kernel_write() drm/i915: Use non-atomic kmap for slow copy paths drm/i915: Avoid moving from CPU domain during pwrite drm/i915: Cleanup after failed initialization of ringbuffers drm/i915: Reject bind_to_gtt() early if object > aperture drm/i915: Check error code whilst moving buffer to GTT domain. drm/i915: Remove spurious warning "Failure to install fence" drm/i915: Rebind bo if currently bound with incorrect alignment. drm/i915: Include pitch in set_base debug statement. drm/i915: Only print "nothing to do" debug message as required. drm/i915: Propagate error from unbinding an unfenceable object. drm/i915: Avoid nesting of domain changes when setting display plane drm/i915: Hold the spinlock whilst resetting unpin_work along error path drm/i915: Only print an message if there was an error drm/i915: Clean up leftover bits from hws move to ring structure. drm/i915: Add CxSR support on Pineview DDR3 ...
2010-06-01ath5k: wake queues on resetBruno Randolf1-14/+3
We can wake all queues after a chip reset since everything should be set up and we are ready to transmit. If we don't do that we might end up starting up with stopped queues, not beeing able to transmit. (This started to happen after "ath5k: clean up queue manipulation" but since periodic calibration also stopped and started the queues this effect was hidden most of the time). This way we can also get rid of the superfluous ath5k_reset_wake() function. Signed-off-by: Bruno Randolf <[email protected]> Acked-by: Nick Kossifidis <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-06-01drm/i915: add HAS_BSD check to i915_getparamZou Nan hai1-0/+3
This will let userland only try to use the new media decode functionality when the appropriate kernel is present. Signed-off-by: Zou Nan hai <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-06-01drm/i915: Honor sync polarity from VBT panel timing descriptorsAdam Jackson1-0/+10
I'm actually kind of shocked that it works at all otherwise. Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-06-01SFI: do not return freed pointerDan Carpenter1-1/+3
We never actually use the return value of sfi_sysfs_install_table() but it still seems wrong to return a freed pointer. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-06-01intel_scu_ipc: Length fixAlan Cox1-1/+1
Commands with data must set the length in the message. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-06-01Merge branch 'master' into for-linusJens Axboe751-12410/+84105
Conflicts: fs/pipe.c Signed-off-by: Jens Axboe <[email protected]>
2010-06-01cciss: call BUG() earlierDan Carpenter1-1/+1
I moved the range check after the increment. The current code would write past the end of the array once before calling BUG(). Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: Reduce verbosityPhilipp Reisner2-9/+0
The "Local READ/WRITE failed" messages are too verbose. Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: use drbd specific ratelimit instead of global printk_ratelimitLars Ellenberg2-2/+2
using the global printk_ratelimit() may mask other messages. Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: fix hang on local read errors while disconnectedLars Ellenberg3-13/+16
"canceled" w_read_retry_remote never completed, if they have been canceled after drbd_disconnect connection teardown cleanup has already run (or we are currently not connected anyways). Fixed by not queueing a remote retry if we already know it won't work (pdsk not uptodate), and cleanup ourselves on "cancel", in case we hit a race with drbd_disconnect. Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: Removed the now empty w_io_error() functionPhilipp Reisner3-41/+1
Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: removed duplicated #includesAndrea Gelmini1-1/+0
drbd/drbd_receiver.c: linux/mm.h is included more than once. Signed-off-by: Andrea Gelmini <[email protected]> Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: improve usage of MSG_MORELars Ellenberg1-13/+19
It seems to improve performance if we allow the "p_data" header in its own frame (no MSG_MORE), but sendpage all but the last page with MSG_MORE. This is also in preparation of a later zero copy receive implementation. Suggested by [email protected] on drbd-dev. Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: need to set socket bufsize early to take effectLars Ellenberg1-10/+23
quoting tcp(7): On individual connections, the socket buffer size must be set prior to the listen(2) or connect(2) calls in order to have it take effect. This adds a wrapper to do so, and uses it appropriately. Improves performance in certain situations. Note that because we cannot easily determine which socket will be "meta" and wich "data" (bulk) socket, we adjust both sockets. Previously, DRBD only adjusted the bufsizes of the "data" socket. Thanks again to [email protected]. Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: improve network latency, TCP_QUICKACKLars Ellenberg1-1/+1
On Thu, Apr 29, 2010 at 04:00:50PM -0400, [email protected] wrote on [email protected] Subject: [Drbd-dev] DRBD small synchronous writes performance improvements > 1. TCP_QUICKACK option is set incorrectly. The goal was force TCP to > send and ACK as a "one time" event. Instead the code permanently sets > connection in the QUICKACK mode. He is right, we actually want to use an even val with TCP_QUICKACK. Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drbd: Revert "drbd: Create new current UUID as late as possible"Philipp Reisner3-47/+7
The late-UUID writing is delayed until the next release. Signed-off-by: Philipp Reisner <[email protected]> Signed-off-by: Lars Ellenberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01brd: support discardNick Piggin1-1/+52
Support discard requests in brd by zeroing or deleting the underlying backing pages. This is simply to help with testing and documentation nature of brd code. Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-01drivers/isdn/hardware/mISDN: Use GFP_ATOMIC when a lock is heldJulia Lawall1-2/+2
The function inittiger is only called from nj_init_card, where a lock is held. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @gfp exists@ identifier fn; position p; @@ fn(...) { ... when != spin_unlock_irqrestore when any GFP_KERNEL@p ... when any } @locked@ identifier gfp.fn; @@ spin_lock_irqsave(...) ... when != spin_unlock_irqrestore fn(...) @depends on locked@ position gfp.p; @@ - GFP_KERNEL@p + GFP_ATOMIC // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-01ksz884x: Add missing validate_addr hookDenis Kirjanov1-0/+1
Add missing validate_addr hook Signed-off-by: Denis Kirjanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-01ksz884x: convert to netdev_tx_tDenis Kirjanov1-1/+1
Convert TX hook to netdev_tx_t type Signed-off-by: Denis Kirjanov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-01virtio-net: pass gfp to add_bufMichael S. Tsirkin1-4/+4
virtio-net bounces buffer allocations off to a thread if it can't allocate buffers from the atomic pool. However, if posting buffers still requires atomic buffers, this is unlikely to succeed. Fix by passing in the proper gfp_t parameter. Signed-off-by: Michael S. Tsirkin <[email protected]> Signed-off-by: Rusty Russell <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-01be2net: convert hdr.timeout in be_cmd_loopback_test() to le32Sathya Perla1-1/+1
The current code fails on ppc as hdr.timeout is not being converted to le32. Signed-off-by: Sathya Perla <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-01can: mpc5xxx_can.c: Fix build failureAnatolij Gustschin1-5/+5
Fixes build error caused by the OF device_node pointer being moved into struct device. Signed-off-by: Anatolij Gustschin <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Grant Likely <[email protected]> Signed-off-by: David S. Miller <[email protected]>