aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-04-11[SCSI] ibmvscsi: fix DMA API misuseFUJITA Tomonori1-27/+2
ibmvscsi uses dma_unmap_single() for buffers mapped via dma_map_sg(). It works however it's the API violation. The DMA debug facility complains about it: http://marc.info/?l=linux-scsi&m=127018555013151&w=2 Reported-by: Sachin Sant <[email protected]> Tested-by: Sachin Sant <[email protected]> Signed-off-by: FUJITA Tomonori <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-04-11[SCSI] wd7000: fix reset handler typo spin_unlock_irq() => spin_lock_irq()Dan Carpenter1-1/+1
This was introduced back in 2005 at the very start of the git era by: df0ae2497ddefd72a87f3a3b34ff32455d7d4ae0 [SCSI] allow sleeping in ->eh_host_reset_handler() Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-04-11[SCSI] zfcp: Fix tracing of requests with error statusChristof Schmitt1-3/+3
When a FSF request is returned with an error it should be reported through blktrace for the ziomon tools, but the latency information should not be read. Fix this by also calling zfcp_fsf_req_trace for the error case, but skip reading the latencies inside the function. Reviewed-by: Swen Schillig <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-04-11[SCSI] zfcp: Update MAINTAINERS entryChristof Schmitt1-2/+1
Martin no longer works on zfcp, remove his entry from the MAINTAINERS file and add Swen as co-maintainer. Also remove the reference to the zfcpdump.txt file, zfcpdump is not part of the zfcp device driver. Signed-off-by: Christof Schmitt <[email protected]> Acked-by: Martin Peschke <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-04-11[SCSI] iscsi_tcp: fix relogin/shutdown hangMike Christie1-1/+1
When I made this patch: b64e77f70b8c11766e967e3485331a9e6ef01390 it was to solve a problem where we were already on the waitqueue becuase a connection problem/logout caused us to be on there when we were cleaning up the session. If we happen to get on queue for more normal reasons like their just does not happen to be any send space at the same time we are closing the connection we hit a race and get stuck in the wait. We should not check if the waitqueue is active because we could race with the network code. If the network xmit code is just about to enter the prepare to wait when we check for the waitqueue to be active then we will miss each other and the network code will fall into the wait and we will not run wake_up. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-04-12nilfs2: fix typo "numer" -> "number" in alloc.cRyusuke Konishi1-1/+1
Fixes the typo found in a warning message of a persistent object allocator function. Signed-off-by: Ryusuke Konishi <[email protected]>
2010-04-11pcmcia: re-start on MFC overrideDominik Brodowski1-8/+14
If there are changes to the number of socket devices, we need to start over in all cases: else pcmcia_request_configuration() might get confused. Reported-by: Alexander Kurz <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2010-04-11pcmcia: fix io_probe due to parent (PCI) resourcesDominik Brodowski1-3/+9
Similar to commit 7a96e87d, we need to be aware of any parent PCI device when requesting IO regions, even only for testing ("probing"). Reported-by: Komuro <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2010-04-11pcmcia: use previously assigned IRQ for all card functionsDominik Brodowski1-5/+5
Use a previously assigned IRQ for all card functions, not only if CONFIG_PCMCIA_PROBE is set. Reported-by: Alexander Kurz <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2010-04-11Merge branch 'master' of /home/davem/src/GIT/linux-2.6/David S. Miller4636-6193/+13245
2010-04-11Revert "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb"David S. Miller1-1/+0
This reverts commit 2626419ad5be1a054d350786b684b41d23de1538. It causes regressions for people with IGB cards. Connection requests don't complete etc. The true cause of the issue is still not known, but we should sort this out in net-next-2.6 not net-2.6 Signed-off-by: David S. Miller <[email protected]>
2010-04-10PM / Hibernate: user.c, fix SNAPSHOT_SET_SWAP_AREA handlingJiri Slaby1-1/+1
When CONFIG_DEBUG_BLOCK_EXT_DEVT is set we decode the device improperly by old_decode_dev and it results in an error while hibernating with s2disk. All users already pass the new device number, so switch to new_decode_dev(). Signed-off-by: Jiri Slaby <[email protected]> Reported-and-tested-by: Jiri Kosina <[email protected]> Signed-off-by: "Rafael J. Wysocki" <[email protected]>
2010-04-10ALSA: usb - Fix Oops after usb-midi disconnectionTakashi Iwai1-6/+18
usb-midi causes sometimes Oops at snd_usbmidi_output_drain() after disconnection. This is due to the access to the endpoints which have been already released at disconnection while the files are still alive. This patch fixes the problem by checking disconnection state at snd_usbmidi_output_drain() and by releasing urbs but keeping the endpoint instances until really all freed. Tested-by: Tvrtko Ursulin <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-04-10firewire: cdev: comment fixletStefan Richter1-2/+2
Signed-off-by: Stefan Richter <[email protected]>
2010-04-10firewire: cdev: iso packet documentationClemens Ladisch1-6/+33
Add the missing documentation for iso packets. Signed-off-by: Clemens Ladisch <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2010-04-10firewire: cdev: fix information leakStefan Richter1-9/+9
A userspace client got to see uninitialized stack-allocated memory if it specified an _IOC_READ type of ioctl and an argument size larger than expected by firewire-core's ioctl handlers (but not larger than the core's union ioctl_arg). Fix this by clearing the requested buffer size to zero, but only at _IOR ioctls. This way, there is almost no runtime penalty to legitimate ioctls. The only legitimate _IOR is FW_CDEV_IOC_GET_CYCLE_TIMER with 12 or 16 bytes to memset. [Another way to fix this would be strict checking of argument size (and possibly direction) vs. command number. However, we then need a lookup table, and we need to allow for slight size deviations in case of 32bit userland on 64bit kernel.] Reported-by: Clemens Ladisch <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2010-04-10firewire: cdev: require quadlet-aligned headers for transmit packetsClemens Ladisch1-0/+2
The definition of struct fw_cdev_iso_packet seems to imply that the header_length must be quadlet-aligned, and in fact, specifying an unaligned header has never really worked when using multiple packet structures, because the position of the next control word is computed by rounding the header_length _down_, so the last one to three bytes of the header would overlap the next control word. To avoid this problem, check that the header length is properly aligned. Signed-off-by: Clemens Ladisch <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2010-04-10firewire: cdev: disallow receive packets without headerClemens Ladisch1-1/+2
In receive contexts, reject packets with header_length==0. This would be an instruction to queue zero packets which would not make sense. This prevents a division by zero in the OHCI driver. Signed-off-by: Clemens Ladisch <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2010-04-09drm/i915: Ignore LVDS EDID when it is unavailabe or invalidZhao Yakui2-4/+11
This trys to shut up complains about invalid LVDS EDID during mode probe, but uses fixed panel mode directly for panels with broken EDID. https://bugs.freedesktop.org/show_bug.cgi?id=23099 https://bugs.freedesktop.org/show_bug.cgi?id=26395 Signed-off-by: Zhao Yakui <[email protected]> Tested-by: Sitsofe Wheeler <[email protected]> Signed-off-by: Zhenyu Wang <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-04-09NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptibleTrond Myklebust1-7/+16
We always want to ensure that WRITE and COMMIT completes, whether or not the user presses ^C. Do this by making the call asynchronous, and allowing the user to do an interruptible wait for rpc_task completion. Signed-off-by: Trond Myklebust <[email protected]>
2010-04-09NFS: Fix a race with the new commit codeTrond Myklebust1-7/+10
This patch fixes a race which occurs due to the fact that we release the PG_writeback flag while still holding the nfs_page locked. Signed-off-by: Trond Myklebust <[email protected]>
2010-04-09NFS: Ensure that writeback_single_inode() calls write_inode() when syncingTrond Myklebust1-2/+2
Since writeback_single_inode() checks the inode->i_state flags _before_ it flushes out the data, we need to ensure that the I_DIRTY_DATASYNC flag is already set. Otherwise we risk not seeing a call to write_inode(), which again means that we break fsync() et al... Signed-off-by: Trond Myklebust <[email protected]>
2010-04-09NFS: Fix the mode calculation in nfs_find_open_contextTrond Myklebust1-4/+4
Signed-off-by: Trond Myklebust <[email protected]>
2010-04-09NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIRTrond Myklebust1-1/+1
Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected]
2010-04-10drm/radeon/kms: more atom parser fixes (v2)Alex Deucher1-0/+10
shr/shl ops need the full dst rather than the pre-masked version. Fixes fdo bug 27478 and kernel bug 15738. v2: remove some unsed vars, add comments Signed-off-by: Alex Deucher <[email protected]> Cc: stable <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-04-09ceph: decode v5 of osdmap (pool names) [protocol change]Sage Weil3-73/+114
Teach the client to decode an updated format for the osdmap. The new format includes pool names, which will be useful shortly. Get this change in earlier rather than later. Signed-off-by: Sage Weil <[email protected]>
2010-04-09Merge branch 'for-linus' of ↵Linus Torvalds4-7/+7
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Check correct variable for allocation failure RDMA/nes: Correct cap.max_inline_data assignment in nes_query_qp() RDMA/cm: Set num_paths when manually assigning path records IB/cm: Fix device_create() return value check
2010-04-09Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6Linus Torvalds8-26/+55
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] nss: add missing .previous statement to asm function [S390] increase default size of vmalloc area [S390] s390: disable change bit override [S390] fix io_return critical section cleanup [S390] sclp_async: potential buffer overflow [S390] arch/s390/kernel: Add missing unlock
2010-04-09Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds34-178/+475
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: (34 commits) cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch loop: Update mtime when writing using aops block: expose the statistics in blkio.time and blkio.sectors for the root cgroup backing-dev: Handle class_create() failure Block: Fix block/elevator.c elevator_get() off-by-one error drbd: lc_element_by_index() never returns NULL cciss: unlock on error path cfq-iosched: Do not merge queues of BE and IDLE classes cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging i2o: Remove the dangerous kobj_to_i2o_device macro block: remove 16 bytes of padding from struct request on 64bits cfq-iosched: fix a kbuild regression block: make CONFIG_BLK_CGROUP visible Remove GENHD_FL_DRIVERFS block: Export max number of segments and max segment size in sysfs block: Finalize conversion of block limits functions block: Fix overrun in lcm() and move it to lib vfs: improve writeback_inodes_wb() paride: fix off-by-one test drbd: fix al-to-on-disk-bitmap for 4k logical_block_size ...
2010-04-09Merge branch 'drm-linus' of ↵Linus Torvalds33-298/+508
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (29 commits) drm/nouveau: bail out of auxch transaction if we repeatedly recieve defers drm/nv50: implement gpio set/get routines drm/nv50: parse/use some more de-magiced parts of gpio table entries drm/nouveau: store raw gpio table entry in bios gpio structs drm/nv40: Init some tiling-related PGRAPH state. drm/nv50: Add NVA3 support in ctxprog/ctxvals generator. drm/nv50: another dodgy DP hack drm/nv50: punt hotplug irq handling out to workqueue drm/nv50: preserve an unknown SOR_MODECTRL value for DP encoders drm/nv50: Allow using the NVA3 new compute class. drm/nv50: cleanup properly if PDISPLAY init fails drm/nouveau: fixup the init failure paths some more drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB mark drm/nv40: add LVDS table quirk for Dell Latitude D620 drm/nv40: rework lvds table parsing drm/nouveau: detect vram amount once, and save the value drm/nouveau: remove some unused members from drm_nouveau_private drm/nouveau: Make use of TTM busy_placements. drm/nv50: add more 0x100c80 flushy magic drm/nv50: fix fbcon when framebuffer above 4GiB mark ...
2010-04-09iwlwifi: work around bogus active chains detectionJohannes Berg1-0/+12
The current algorithm will sometimes "detect" that more chains are enabled than are really present in the device because, for unknown reasons, the ucode sends up all-zeroes signal values. The simplest way of solving this is to restrict the active chains mask to the chains we know are really present on the device. This fixes a bug with some devices where, since sometimes more chains are enabled than really present, the system would hang. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Reinette Chatre <[email protected]>
2010-04-09radix_tree_tag_get() is not as safe as the docs make out [ver #2]David Howells2-6/+13
radix_tree_tag_get() is not safe to use concurrently with radix_tree_tag_set() or radix_tree_tag_clear(). The problem is that the double tag_get() in radix_tree_tag_get(): if (!tag_get(node, tag, offset)) saw_unset_tag = 1; if (height == 1) { int ret = tag_get(node, tag, offset); may see the value change due to the action of set/clear. RCU is no protection against this as no pointers are being changed, no nodes are being replaced according to a COW protocol - set/clear alter the node directly. The documentation in linux/radix-tree.h, however, says that radix_tree_tag_get() is an exception to the rule that "any function modifying the tree or tags (...) must exclude other modifications, and exclude any functions reading the tree". The problem is that the next statement in radix_tree_tag_get() checks that the tag doesn't vary over time: BUG_ON(ret && saw_unset_tag); This has been seen happening in FS-Cache: https://www.redhat.com/archives/linux-cachefs/2010-April/msg00013.html To this end, remove the BUG_ON() from radix_tree_tag_get() and note in various comments that the value of the tag may change whilst the RCU read lock is held, and thus that the return value of radix_tree_tag_get() may not be relied upon unless radix_tree_tag_set/clear() and radix_tree_delete() are excluded from running concurrently with it. Reported-by: Romain DEGEZ <[email protected]> Signed-off-by: David Howells <[email protected]> Acked-by: Nick Piggin <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-04-09slub: Fix kmem_ptr_validate() for non-kernel pointersPekka Enberg1-0/+3
As suggested by Linus, fix up kmem_ptr_validate() to handle non-kernel pointers more graciously. The patch changes kmem_ptr_validate() to use the newly introduced kern_ptr_validate() helper to check that a pointer is a valid kernel pointer before we attempt to convert it into a 'struct page'. Cc: Andrew Morton <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Matt Mackall <[email protected]> Cc: Nick Piggin <[email protected]> Signed-off-by: Pekka Enberg <[email protected]> Acked-by: Christoph Lameter <[email protected]> Acked-by: David Rientjes <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-04-09slab: Generify kernel pointer validationPekka Enberg3-12/+23
As suggested by Linus, introduce a kern_ptr_validate() helper that does some sanity checks to make sure a pointer is a valid kernel pointer. This is a preparational step for fixing SLUB kmem_ptr_validate(). Cc: Andrew Morton <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: David Rientjes <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Matt Mackall <[email protected]> Cc: Nick Piggin <[email protected]> Signed-off-by: Pekka Enberg <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-04-09Revert "memory-hotplug: add 0x prefix to HEX block_size_bytes"Linus Torvalds1-1/+1
This reverts commit ba168fc37dea145deeb8fa9e7e71c748d2e00d74. It changes user-visible sysfs interfaces, and breaks some existing user space applications which apparently rely on the fact that the output does not contain the "0x" prefix. Requested-by: Heiko Carstens <[email protected]> Acked-by: KOSAKI Motohiro <[email protected]> Acked-by: Wu Fengguang <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-04-09Merge branch 'master' of ↵David S. Miller1-4/+9
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
2010-04-09Merge branches 'cma', 'misc', 'mlx4' and 'nes' into for-linusRoland Dreier3-7/+6
2010-04-09ALSA: hda - Fix initial capture source connections of ALC880/260Takashi Iwai1-0/+23
The widget connections of ADC of ALC880 and ALC2260 aren't initialized, thus it might point to invalid pin. This can be a problem when mode=auto and there is only one input pin. Then user can't change the connection at all. This patch adds the code to initialize the input pin connection of these codecs. Reference: Novell bnc#594363 https://bugzilla.novell.com/show_bug.cgi?id=594363 Signed-off-by: Takashi Iwai <[email protected]>
2010-04-09ARM: Fix ioremap_cached()/ioremap_wc() for SMP platformsRussell King1-0/+4
Write combining/cached device mappings are not setting the shared bit, which could potentially cause problems on SMP systems since the cache lines won't participate in the cache coherency protocol. Signed-off-by: Russell King <[email protected]> Tested-by: Santosh Shilimkar <[email protected]>
2010-04-09[S390] Update default configuration.Martin Schwidefsky1-10/+30
Signed-off-by: Martin Schwidefsky <[email protected]>
2010-04-09[S390] nss: add missing .previous statement to asm functionHeiko Carstens1-1/+2
The savesys_ipl_nss asm function is put into the .init.text section however it is missing a ".previous" section which would restore the previous section. Luckily all functions in early.c are init functions so it doesn't matter currently. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2010-04-09[S390] increase default size of vmalloc areaMartin Schwidefsky1-3/+3
The default size of the vmalloc area is currently 1 GB. The memory resource controller uses about 10 MB of vmalloc space per gigabyte of memory. That turns a system with more than ~100 GB memory unbootable with the default vmalloc size. It costs us nothing to increase the default size to some more adequate value, e.g. 128 GB. Signed-off-by: Martin Schwidefsky <[email protected]>
2010-04-09[S390] s390: disable change bit overrideChristian Borntraeger1-8/+3
commit 6a985c6194017de2c062916ad1cd00dee0302c40 ([S390] s390: use change recording override for kernel mapping) deactivated the change bit recording for the kernel mapping to improve the performance. This works most of the time, but there are cases (e.g. kernel runs in home space, futex atomic compare xcmg) where we modify user memory with the kernel mapping instead of the user mapping. Instead of fixing these cases, this patch just deactivates change bit override to avoid future problems with other kernel code that might use the kernel mapping for user memory. CC: [email protected] Signed-off-by: Christian Borntraeger <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2010-04-09[S390] fix io_return critical section cleanupMartin Schwidefsky2-2/+14
If a machine check interrupts the io interrupt handler on one of the instructions between io_return and io_leave the critical section cleanup code will move the return psw to io_work_loop. By doing that the switch from the asynchronous interrupt stack to the process stack is skipped. If e.g. TIF_NEED_RESCHED is set things break because the scheduler is called with the asynchronous interrupts stack. Moving the psw back to io_return instead fixes the problem. Signed-off-by: Martin Schwidefsky <[email protected]>
2010-04-09[S390] sclp_async: potential buffer overflowDan Carpenter1-1/+1
"len" hasn't been properly range checked so we shouldn't use it as an array offset. This can only be written to by root but it would still be annoying to accidentally write more than 3 characters and corrupt your memory. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2010-04-09[S390] arch/s390/kernel: Add missing unlockJulia Lawall1-1/+2
In the default case the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irq (E1,...); ... when != E1 * return ...; ...+> } // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2010-04-09ALSA: hda - Fix setup for ALC269vb amic and dmic modelsKailang Yang1-8/+20
Corrected HP and mic pins for ALC269vb amic and dmic models. Signed-off-by: Kailang Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-04-09ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21Kailang Yang1-0/+1
ALC269vb has an alternative HP pin 0x21 in addition. Fix the parser to recognize it. Signed-off-by: Kailang Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-04-09ARM: 6043/1: AT91 slow-clock resume: Don't wait for a disabled PLL to lockAnders Larsen1-0/+12
at91 slow-clock resume: Don't wait for a disabled PLL to lock. We run into this problem with the PLLB on the at91: ohci-at91 disables the PLLB when going to suspend. The slowclock code however tries to do the same: It saves the PLLB register value and when restoring the value during resume, it waits for the PLLB to lock again. However the PLL will never lock and the loop would run into its timeout because the slowclock code just stored and restored an empty register. This fixes the problem by only restoring PLLA/PLLB when they were enabled at suspend time. Cc: Andrew Victor <[email protected]> Signed-off-by: Anders Larsen <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-04-09cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatchDivyesh Shah1-2/+5
When CFQ dispatches requests forcefully due to a barrier or changing iosched, it runs through all cfqq's dispatching requests and then expires each queue. However, it does not activate a cfqq before flushing its IOs resulting in using stale values for computing slice_used. This patch fixes it by calling activate queue before flushing reuqests from each queue. This is useful mostly for barrier requests because when the iosched is changing it really doesnt matter if we have incorrect accounting since we're going to break down all structures anyway. We also now expire the current timeslice before moving on with the dispatch to accurately account slice used for that cfqq. Signed-off-by: Divyesh Shah<[email protected]> Signed-off-by: Jens Axboe <[email protected]>