aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-05-28cnic: Fix context memory init. on 5709.Michael Chan2-9/+5
We need to zero context memory on 5709 in the function cnic_init_context(). Without this, iscsid restart on 5709 will not work because of stale data. TX context blocks should not be initialized by cnic_init_context() because of the special remapping on 5709. Update version to 2.1.2. Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-05-28drivers/net: Eliminate a NULL pointer dereferenceJulia Lawall1-2/+1
At the point of the print, dev is NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ expression E,E1; identifier f; statement S1,S2,S3; @@ if ((E == NULL && ...) || ...) { ... when != if (...) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-05-28drivers/net/hamradio: Eliminate a NULL pointer dereferenceJulia Lawall1-2/+1
At the point of the print, dev is NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ expression E,E1; identifier f; statement S1,S2,S3; @@ if ((E == NULL && ...) || ...) { ... when != if (...) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-05-28be2net: Patch removes redundant while statement in loop.Sarveshwar Bandi1-1/+1
Signed-off-by: Sarveshwar Bandi <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-05-28ipv6: Add GSO support on forwarding pathHerbert Xu1-1/+1
Currently we disallow GSO packets on the IPv6 forward path. This patch fixes this. Note that I discovered that our existing GSO MTU checks (e.g., IPv4 forwarding) are buggy in that they skip the check altogether, when they really should be checking gso_size + header instead. I have also been lazy here in that I haven't bothered to segment the GSO packet by hand before generating an ICMP message. Someone should add that to be 100% correct. Reported-by: Ralf Baechle <[email protected]> Signed-off-by: Herbert Xu <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-05-28net: fix __neigh_event_send()Eric Dumazet1-0/+1
commit 7fee226ad23 (net: add a noref bit on skb dst) missed one spot where an skb is enqueued, with a possibly not refcounted dst entry. __neigh_event_send() inserts skb into arp_queue, so we must make sure dst entry is refcounted, or dst entry can be freed by garbage collector after caller exits from rcu protected section. Reported-by: Ingo Molnar <[email protected]> Tested-by: Ingo Molnar <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-05-28ALSA: hda: Add support for another Lenovo ThinkPad Edge in conexant codecAndreas Herrmann1-0/+1
On a Thinkpad Edge 13 "01972NG" I had the problem that speakers played sound although headphones were plugged in. Using model=ideapad with latest alsa-git kernel fixed this. So adding this quirk to use ideapad for another Thinkpad Edge variant seems sensible. Cc: Jerone Young <[email protected]> Signed-off-by: Andreas Herrmann <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-05-28leds: Fix leds-gpio openfirmware compile issueRichard Purdie1-1/+0
Fix a compile issue when openfirmware is enabled from commit 2146325df2c2640059a9e064890c30c6e259b458. Signed-off-by: Richard Purdie <[email protected]>
2010-05-28leds: Kconfig fixesRichard Purdie1-3/+3
Soekris net5501 is x86 only and cleanup some undeeded dependencies Signed-off-by: Richard Purdie <[email protected]>
2010-05-28ALSA: hda: Use LPIB for Sony VPCS11V9EDaniel T Chen1-0/+1
BugLink: https://launchpad.net/bugs/586347 Symptom: On the Sony VPCS11V9E, using GStreamer-based applications with PulseAudio in Ubuntu 10.04 LTS results in stuttering audio. It appears to worsen with increased I/O. Test case: use Rhythmbox under increased I/O pressure. This symptom is reproducible in the current daily stable alsa-driver snapshots (at least up until 21 May 2010; later snapshots fail to build from source due to missing preprocessor directives when compiled against 2.6.32). Resolution: add SSID for this machine to the position_fix quirk table, explicitly specifying the LPIB method. Reported-and-Tested-By: Lauri Kainulainen <[email protected]> Cc: <[email protected]> Signed-off-by: Daniel T Chen <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-05-28ALSA: usb-audio: fix feature unit parser for UAC2Daniel Mack1-1/+1
Fix a small off-by-one bug which causes the feature unit to announce a wrong number of channels. This leads to illegal requests sent to the firmware eventually. Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-05-27fix fs/sysv s_dirt handlingAl Viro1-0/+1
got broken on ->sync_fs() conversion a year ago, nobody noticed... Signed-off-by: Al Viro <[email protected]>
2010-05-27fat: convert to use the new truncate convention.[email protected]3-15/+57
Cc: OGAWA Hirofumi <[email protected]> Cc: Christoph Hellwig <[email protected]> Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27ext2: convert to use the new truncate convention.[email protected]3-36/+119
I also have commented a possible bug in existing ext2 code, marked with XXX. Cc: [email protected] Cc: Christoph Hellwig <[email protected]> Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27tmpfs: convert to use the new truncate convention[email protected]1-21/+22
Cc: Christoph Hellwig <[email protected]> Acked-by: Hugh Dickins <[email protected]> Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27fs: convert simple fs to new truncateNick Piggin5-19/+15
Convert simple filesystems: ramfs, configfs, sysfs, block_dev to new truncate sequence. Cc: Christoph Hellwig <[email protected]> Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27kill spurious reference to vmtruncate[email protected]10-22/+37
Lots of filesystems calls vmtruncate despite not implementing the old ->truncate method. Switch them to use simple_setsize and add some comments about the truncate code where it seems fitting. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27fs: introduce new truncate sequence[email protected]8-63/+300
Introduce a new truncate calling sequence into fs/mm subsystems. Rather than setattr > vmtruncate > truncate, have filesystems call their truncate sequence from ->setattr if filesystem specific operations are required. vmtruncate is deprecated, and truncate_pagecache and inode_newsize_ok helpers introduced previously should be used. simple_setattr is introduced for simple in-ram filesystems to implement the new truncate sequence. Eventually all filesystems should be converted to implement a setattr, and the default code in notify_change should go away. simple_setsize is also introduced to perform just the ATTR_SIZE portion of simple_setattr (ie. changing i_size and trimming pagecache). To implement the new truncate sequence: - filesystem specific manipulations (eg freeing blocks) must be done in the setattr method rather than ->truncate. - vmtruncate can not be used by core code to trim blocks past i_size in the event of write failure after allocation, so this must be performed in the fs code. - convert usage of helpers block_write_begin, nobh_write_begin, cont_write_begin, and *blockdev_direct_IO* to use _newtrunc postfixed variants. These avoid calling vmtruncate to trim blocks (see previous). - inode_setattr should not be used. generic_setattr is a new function to be used to copy simple attributes into the generic inode. - make use of the better opportunity to handle errors with the new sequence. Big problem with the previous calling sequence: the filesystem is not called until i_size has already changed. This means it is not allowed to fail the call, and also it does not know what the previous i_size was. Also, generic code calling vmtruncate to truncate allocated blocks in case of error had no good way to return a meaningful error (or, for example, atomically handle block deallocation). Cc: Christoph Hellwig <[email protected]> Acked-by: Jan Kara <[email protected]> Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27fs/super: fix kernel-doc warningRandy Dunlap1-2/+2
Fix fs/super.c kernel-doc warning and function notation: Warning(fs/super.c:957): No description found for parameter 'sb' Signed-off-by: Randy Dunlap <[email protected]> Cc: Alexander Viro <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27fs/minix: bugfix, number of indirect block ptrs per block depends on block sizeErik van der Kouwe1-12/+15
The MINIX filesystem driver used a constant number of indirect block pointers in an indirect block. This worked only for filesystems with 1kb block, while the MINIX default block size is now 4kb. As a consequence, large files were read incorrectly on such filesystems and writing a large file would cause the filesystem to become corrupted. This patch computes the number of indirect block pointers based on the block size, making the driver work for each block size. I would like to thank Feiran Zheng ('Fam') for pointing out the cause of the corruption. Signed-off-by: Erik van der Kouwe <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27rename the generic fsync implementationsChristoph Hellwig23-32/+44
We don't name our generic fsync implementations very well currently. The no-op implementation for in-memory filesystems currently is called simple_sync_file which doesn't make too much sense to start with, the the generic one for simple filesystems is called simple_fsync which can lead to some confusion. This patch renames the generic file fsync method to generic_file_fsync to match the other generic_file_* routines it is supposed to be used with, and the no-op implementation to noop_fsync to make it obvious what to expect. In addition add some documentation for both methods. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27drop unused dentry argument to ->fsyncChristoph Hellwig69-157/+129
Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27fs: Add missing mutex_unlockJulia Lawall1-4/+9
Add a mutex_unlock missing on the error path. At other exists from the function that return an error flag, the mutex is unlocked, so do the same here. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression E1; @@ * mutex_lock(E1,...); <+... when != E1 if (...) { ... when != E1 * return ...; } ...+> * mutex_unlock(E1,...); // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27Fix racy use of anon_inode_getfd() in perf_event.cAl Viro1-18/+22
once anon_inode_getfd() is called, you can't expect *anything* about struct file that descriptor points to - another thread might be doing whatever it likes with descriptor table at that point. Cc: stable <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27get rid of the magic around f_count in aioAl Viro4-15/+14
__aio_put_req() plays sick games with file refcount. What it wants is fput() from atomic context; it's almost always done with f_count > 1, so they only have to deal with delayed work in rare cases when their reference happens to be the last one. Current code decrements f_count and if it hasn't hit 0, everything is fine. Otherwise it keeps a pointer to struct file (with zero f_count!) around and has delayed work do __fput() on it. Better way to do it: use atomic_long_add_unless( , -1, 1) instead of !atomic_long_dec_and_test(). IOW, decrement it only if it's not the last reference, leave refcount alone if it was. And use normal fput() in delayed work. I've made that atomic_long_add_unless call a new helper - fput_atomic(). Drops a reference to file if it's safe to do in atomic (i.e. if that's not the last one), tells if it had been able to do that. aio.c converted to it, __fput() use is gone. req->ki_file *always* contributes to refcount now. And __fput() became static. Signed-off-by: Al Viro <[email protected]>
2010-05-27VFS: fix recent breakage of FS_REVAL_DOTNeil Brown1-1/+1
Commit 1f36f774b22a0ceb7dd33eca626746c81a97b6a5 broke FS_REVAL_DOT semantics. In particular, before this patch, the command ls -l in an NFS mounted directory would always check if the directory on the server had changed and if so would flush and refill the pagecache for the dir. After this patch, the same "ls -l" will repeatedly return stale date until the cached attributes for the directory time out. The following patch fixes this by ensuring the d_revalidate is called by do_last when "." is being looked-up. link_path_walk has already called d_revalidate, but in that case LOOKUP_OPEN is not set so nfs_lookup_verify_inode chooses not to do any validation. The following patch restores the original behaviour. Cc: [email protected] Signed-off-by: NeilBrown <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27Revert "anon_inode: set S_IFREG on the anon_inode"Al Viro1-1/+1
This reverts commit a7cf4145bb86aaf85d4d4d29a69b50b688e2e49d.
2010-05-27Merge branch 'upstream-linus' of ↵Linus Torvalds62-519/+720
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: implement dump_id force param libata: disable ATAPI AN by default libata-sff: make BMDMA optional libata-sff: kill dummy BMDMA ops from sata_qstor and pata_octeon_cf libata-sff: separate out BMDMA init libata-sff: separate out BMDMA irq handler libata-sff: ata_sff_irq_clear() is BMDMA specific sata_mv: drop unncessary EH callback resetting
2010-05-27acpi_pad: uses MONITOR/MWAIT, so it doesn't need to clear TS_POLLINGLen Brown1-9/+0
api_pad exclusively uses MONITOR/MWAIT to sleep in idle, so it does not need the wakeup IPI during idle sleep that is provoked by clearing TS_POLLING. Signed-off-by: Len Brown <[email protected]> Cc: Shaohua Li <[email protected]>
2010-05-27sched: clarify commment for TS_POLLINGLen Brown1-2/+2
TS_POLLING set tells the scheduler an idle_task will poll need_resched() to look for work. TS_POLLING clear tells resched_task() and wake_up_idle_cpu() that the remote CPU's idle_task is now sleeping in idle, and thus requires a reschedule interrupt notice work. Update the description of TS_POLLING to reflect how it works. "idle task polling need_resched, skip sending interrupt" Wordsmithing-by: Milton Miller <[email protected]> Signed-off-by: Len Brown <[email protected]> Acked-by: Peter Zijlstra <[email protected]>
2010-05-27ACPI: allow a native cpuidle driver to displace ACPILen Brown1-5/+6
The ACPI driver would fail probe when it found that another driver had previously registered with cpuidle. But this is a natural situation, as a native hardware cpuidle driver should be able to bind instead of ACPI, and the ACPI processor driver should be able to handle yielding control of C-states while still handling P-states and T-states. Add a KERN_DEBUG line showing when acpi_idle does successfully register. Signed-off-by: Len Brown <[email protected]>
2010-05-27cpuidle: make cpuidle_curr_driver staticLen Brown5-9/+22
cpuidle_register_driver() sets cpuidle_curr_driver cpuidle_unregister_driver() clears cpuidle_curr_driver We should't expose cpuidle_curr_driver to potential modification except via these interfaces. So make it static and create cpuidle_get_driver() to observe it. Signed-off-by: Len Brown <[email protected]>
2010-05-27Merge branch 'release' of ↵Linus Torvalds2-0/+21
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix build breakage
2010-05-28mfd: Rename twl5031 sih modulesIlkka Koskinen1-5/+6
Fix the names of twl5031 specific sih modules to match the documentation. Signed-off-by: Ilkka Koskinen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Storage class for timberdale should be before const qualifierTobias Klauser1-10/+10
The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Remove unneeded and dangerous clearing of clientdataWolfram Sang2-3/+0
Unlike real i2c-devices which get detached from the driver, dummy-devices get truly unregistered. So, there has never been a need to clear the clientdata because the device will go away anyhow. For the occasions fixed here, clearing clientdata was even dangerous as the structure was freed already. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Jean Delvare <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: New AB8500 driverRabin Vincent8-477/+712
Add a new driver to support the AB8500 Power Management chip, replacing the current AB4500. The new driver replaces the old one, instead of an incremental modification, because this is a substantial overhaul including: - Split of the driver into -core and -spi portions, to allow another interface layer to be added - Addition of interrupt support - Switch to MFD core API for handling subdevices - Simplification of the APIs to remove a redundant block parameter - Rename of the APIs and macros from ab4500_* to ab8500_* - Rename of the files from ab4500* to ab8500* - Change of the driver name from ab4500 to ab8500 Acked-by: Linus Walleij <[email protected]> Acked-by: Srinidhi Kasagar <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: Fix inverted rdc321x gpio data out registersFlorian Fainelli1-1/+1
rdc_gpio_set_value_impl has the gpio data registers 1 and 2 inverted, fix this. Signed-off-by: Bernhard Loos <[email protected]> Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Change rdc321x resources flags to IORESOURCE_IOFlorian Fainelli3-6/+6
The rdc321x southbridge PCI device has no MEM PCI resources that we could pass to mfd_add_devices. Since 33254dd5, mfd_add_device checks for the mem_base argument that we set to NULL. Changing the resources passed to our MFD cells from IORESOURCE_MEM to IORESOURCE_IO fixes that. Since we use those resources as offsets to the PCI configuration space base address of the southbridge device this is also more adequate. Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Move pcf50633 irq related functions to its own file.Lars-Peter Clausen3-294/+330
This reduces code clutter a bit and will ease an migration to genirq. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Use threaded irq for pcf50633Lars-Peter Clausen2-49/+10
Use threaded oneshot irq handler instead of normal irq handler and a workqueue. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: pcf50633-adc: Fix potential race in pcf50633_adc_sync_readLars-Peter Clausen1-24/+15
Currently it's not guaranteed that request struct is not already freed when reading from it. Fix this by moving synced request related fields from the pcf50633_adc_request struct to its own struct and store it on the functions stack. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Fix pcf50633 bitfield logic in interrupt handlerLars-Peter Clausen1-4/+4
Those constants are alreay bitfields. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: rdc321x needs to select MFD_CORERandy Dunlap1-0/+1
Fix rdc321x-southbridge build: GPIO_RDC321X needs to select MFD_CORE so that the core is built at the same (or higher) tristate level. rdc321x-southbridge.c:(.devinit.text+0x6103): undefined reference to `mfd_add_devices' rdc321x-southbridge.c:(.devexit.text+0xe5f): undefined reference to `mfd_remove_devices' Signed-off-by: Randy Dunlap <[email protected]> Cc: Florian Fainelli <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Use menuconfig for quicker config editingRandy Dunlap1-2/+8
Change MFD 'menu' to 'menuconfig' to facilitate easy (one-click) disabling of all MFD drivers. Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28ARM: AB3550 board configuration and irq for U300Mattias Wallin2-0/+62
This patch adds the i2c board configuration needed for the Mixed Signal chip AB3550. It also adds the irq numbers needed for the irq_chip implementation. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: AB3550 core driverMattias Wallin3-0/+1416
This adds a core driver for the AB3550 mixed-signal circuit found in the ST-Ericsson U300 platforms. This driver is a singleton proxy for all access to the AB3550 sub functionality drivers which can be added on top of this one: RTC, regulators, battery and system power control, vibrator, LEDs and an ALSA codec. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: AB3100 register access change to abx500 APIMattias Wallin8-92/+390
The interface for the AB3100 is changed to make way for the ABX500 family of chips: AB3550, AB5500 and future ST-Ericsson Analog Baseband chips. The register access functions are moved out to a separate struct abx500_ops. In this way the interface is moved from the implementation and the sub functionality drivers can keep their interface intact when chip infrastructure and communication mechanisms changes. We also define the AB3550 device IDs and the AB3550 platform data struct and convert the catenated 32bit event to an array of 3 x 8bits. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Renamed ab3100.h to abx500.hLinus Walleij6-5/+5
The goal here is to make way for a more general interface for the analog baseband chips ab3100 ab3550 ab550 and future chips. This patch have been divided into two parts since both changing name and content of a file is not recommended in git. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: Add TC35892 GPIO driverRabin Vincent3-0/+389
Add a GPIO driver to support the GPIOs on the TC35892 I/O Expander. Acked-by: Linus Walleij <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>