aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-10-27MIPS: Fix KGDB build errorDavid Daney
<asm/ptrace.h> is exported to userland so can't include <linux/ptrace.h>, so replace the C99 types with their basic C type equivalents. Bug originally reported and initial patch by Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-27MIPS: Set ENOSYS to errno on illegal system call number for syscall(2)Atsushi Nemoto
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-27MIPS: Set positive error number to errno on illegal_syscallAtsushi Nemoto
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-27MIPS: SMP: Don't reenable interrupts in stop_this_cpu; use WAIT instruction.Ralf Baechle
Noticed by Anirban Sinha <ASinha@zeugmasystems.com>; patch by me. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-27MIPS: Don't unmap the memory for dma_sync*.David Daney
We were getting away with this for so long only because the only platform with a non-empty plat_unmap_dma_mem() doesn't call dma_sync_sg_for_cpu() and dma_sync_sg_for_device() from its commonly used drivers. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-27MIPS: Fix debugfs_create_*'s error checking method for mips/kernel/Zhaolei
debugfs_create_*() returns NULL on error. Make its callers return -ENODEV on error. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Acked-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-27MIPS: Fix debugfs_create_*'s error checking method for arch/mips/math-emu/Zhaolei
debugfs_create_*() returns NULL on error. Make its caller debugfs_fpuemu return -ENODEV on error. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-26Merge branch 'for-linus' of git://neil.brown.name/mdLinus Torvalds
* 'for-linus' of git://neil.brown.name/md: md: allow extended partitions on md devices. md: use sysfs_notify_dirent to notify changes to md/dev-xxx/state md: use sysfs_notify_dirent to notify changes to md/array_state
2008-10-26Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: psmouse - add support for Elantech touchpads Input: i8042 - add Blue FB5601 to noloop exception table
2008-10-26Merge branch 'for-linus' of git://git.o-hand.com/linux-mfdLinus Torvalds
* 'for-linus' of git://git.o-hand.com/linux-mfd: mfd: Make WM8400 depend on I2C until SPI is submitted mfd: add missing Kconfig entry for da903x
2008-10-26Merge branch 'for-upstream' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: uwb: build UWB before USB/WUSB
2008-10-26Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Add support for Sony Vaio VGX-TP1E HID: fix lock imbalance in hiddev HID: fix lock imbalance in hidraw HID: fix hidbus/appletouch device binding regression HID: add hid_type to general hid struct HID: quirk for OLED devices present in ASUS G50/G70/G71 HID: Remove "default m" for Thrustmaster and Zeroplus HID: fix hidraw_exit section mismatch HID: add support for another Gyration remote control Revert "HID: Invert HWHEEL mappings for some Logitech mice"
2008-10-26docbooks: fix fatal filename errorsRandy Dunlap
Fix docbook fatal errors (file location changed): docproc: lin2628-rc1/include/asm-x86/io_32.h: No such file or directory make[1]: *** [Documentation/DocBook/deviceiobook.xml] Error 1 docproc: lin2628-rc1/include/asm-x86/atomic_32.h: No such file or directory make[1]: *** [Documentation/DocBook/kernel-api.xml] Error 1 docproc: lin2628-rc1/include/asm-x86/mca_dma.h: No such file or directory make[1]: *** [Documentation/DocBook/mcabook.xml] Error 1 Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26kernel-doc: allow more whitespace in macrosRandy Dunlap
Allow macros that are annotated with kernel-doc to contain whitespace between the '#' and "define". It's valid and being used, so allow it. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26Merge branch 'release' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: leds-hp-disk: fix build warning ACPI: Oops in ACPI with git latest ACPI suspend: build fix for ACPI_SLEEP=n && XEN_SAVE_RESTORE=y. toshiba_acpi: always call input_sync() after input_report_switch() ACPI: Always report a sync event after a lid state change ACPI: cpufreq, processor: fix compile error in drivers/acpi/processor_perflib.c i7300_idle: Fix compile warning CONFIG_I7300_IDLE_IOAT_CHANNEL not defined i7300_idle: Cleanup based review comments i7300_idle: Disable ioat channel only on platforms where ile driver can load
2008-10-26Linux 2.6.28-rc2Linus Torvalds
.. fix all the worst problems in -rc1
2008-10-26m68k: Disable Amiga serial console support if modularGeert Uytterhoeven
If CONFIG_AMIGA_BUILTIN_SERIAL=m, I get the following warnings: | drivers/char/amiserial.c: At top level: | drivers/char/amiserial.c:2138: warning: data definition has no type or storage class | drivers/char/amiserial.c:2138: warning: type defaults to 'int' in declaration of 'console_initcall' | drivers/char/amiserial.c:2138: warning: parameter names (without types) in function declaration | drivers/char/amiserial.c:2134: warning: 'amiserial_console_init' defined but not used because console_initcall() is not defined (nor really sensible) in the modular case. So disable serial console support if the driver is modular. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26epoll: avoid double-inserts in case of EFAULTDavide Libenzi
In commit f337b9c58332bdecde965b436e47ea4c94d30da0 ("epoll: drop unnecessary test") Thomas found that there is an unnecessary (always true) test in ep_send_events(). The callback never inserts into ->rdllink while the send loop is performed, and also does the ~EP_PRIVATE_BITS test. Given we're holding the mutex during this time, the conditions tested inside the loop are always true. HOWEVER. The test "!ep_is_linked(&epi->rdllink)" wasn't there because we insert into ->rdllink, but because the send-events loop might terminate before the whole list is scanned (-EFAULT). In such cases, when the loop terminates early, and when a (leftover) file received an event while we're performing the lockless loop, we need such test to avoid to double insert the epoll items. The list_splice() done a few steps below, will correctly re-insert the ones that were left on "txlist". This should fix the kenrel.org bugzilla entry 11831. Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26select: deal with math overflow from borderline valid userland dataArjan van de Ven
Some userland apps seem to pass in a "0" for the seconds, and several seconds worth of usecs to select(). The old kernels accepted this just fine, so the new kernels must too. However, due to the upscaling of the microseconds to nanoseconds we had some cases where we got math overflow, and depending on the GCC version (due to inlining decisions) that actually resulted in an -EINVAL return. This patch fixes this by adding the excess microseconds to the seconds field. Also with thanks to Marcin Slusarz for spotting some implementation bugs in the diagnostics patches. Reported-by: Carlos R. Mafra <crmafra2@gmail.com> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26wireless: fix regression caused by regulatory config optionArjan van de Ven
The default for the regulatory compatibility option is wrong; if you picked the default you ended up with a non-functional wifi system (at least I did on Fedora 9 with iwl4965). I don't think even the October 2008 releases of the various distros has the new userland so clearly the default is wrong, and also we can't just go about deleting this in 2.6.29... Change the default to "y" and also adjust the config text a little to reflect this. This patch fixes regression #11859 With thanks to Johannes Berg for the diagnostics Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26cgroup: remove unused variableStephen Rothwell
/scratch/sfr/next/kernel/cgroup.c: In function 'cgroup_tasks_start': /scratch/sfr/next/kernel/cgroup.c:2107: warning: unused variable 'i' Introduced in commit cc31edceee04a7b87f2be48f9489ebb72d264844 "cgroups: convert tasks file to use a seq_file with shared pid array". Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6Linus Torvalds
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX hwmon: (abituguru3) Cosmetic whitespace fixes hwmon: (adt7473) Fix voltage conversion routines hwmon: (lm90) Add support for the LM99 16 degree offset hwmon: (lm90) Fix handling of hysteresis value hwmon-vid: Add support for AMD family 10h CPUs hwmon: (w83781d) Fix linking when built-in
2008-10-26r8169: revert "read MAC address from EEPROM on init"Francois Romieu
This reverts commit 7bf6bf4803df1adc927f585168d2135fb019c698. The code has both a short existence and an increasing track of failures despite some work to amend it for -rc1. It is not just a matter of reading the eeprom: sometimes the eeprom is read correctly, then the mac address is not written correctly back into the mac registers. Some chipsets seem to work reliably but it is not clear at this point if the code can simply be made to work on a per-chipset basis and post -rc1 is not the place where I want to experiment these things. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26arm ide breakageAl Viro
a) semicolon before the function body is a bad idea b) it's const struct foo, not struct const foo c) incidentally, it's ecard_remove_driver(), not ecard_unregister_driver() d) compiling is occasionally useful. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26fix allmodconfig breakageAl Viro
If you use KCONFIG_ALLCONFIG (even with empty file) you get broken allmodconfig/allyesconfig; CONFIG_MODULES gets turned off, with obvious massive fallout. Breakage had been introduced when conf_set_all_new_symbols() got used for allmodconfig et.al. What happens is that sym_calc_value(modules_sym) done in conf_read_simple() sets SYMBOL_VALID on both modules_sym and MODULES. When we get to conf_set_all_new_symbols(), we set sym->def[S_DEF_USER] on everything, but it has no effect on sym->curr for the symbols that already have SYMBOL_VALID - these are stuck. Solution: use sym_clear_all_valid() in there. Note that it makes reevaluation of modules_sym redundant - sym_clear_all_valid() will do that itself. [ Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11512, says Alexey ] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-26hwmon: (abituguru3) enable DMI probing feature on AW9D-MAXAlistair John Strachan
Switch the AW9D-MAX over from port probing to the preferred DMI probe method. Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk> Tested-by: Justin Piszcz <jpiszcz@lucidpixels.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2008-10-26hwmon: (abituguru3) Cosmetic whitespace fixesAlistair John Strachan
As the probable result of zealous copy/pasting, many supported boards contain sensor names with trailing whitespace. Though this is not a huge problem, it is inconsistent with other sensor names, and with other similar hwmon drivers. Additionally, the DMI nag message added in 2.6.27 was missing a space between two sentence fragments -- might as well clean that up too. Doesn't alter any kernel text, just data. Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk> Reported-by: Justin Piszcz <jpiszcz@lucidpixels.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2008-10-26hwmon: (adt7473) Fix voltage conversion routinesJean Delvare
Fix voltage conversion routines. Based on an earlier patch from Paulius Zaleckas. According to the datasheet voltage is scaled with resistors and value 192 is nominal voltage. 0 is 0V. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Cc: Darrick J. Wong <djwong@us.ibm.com>
2008-10-26hwmon: (lm90) Add support for the LM99 16 degree offsetJean Delvare
The LM99 differs from the LM86, LM89 and LM90 in that it reports remote temperatures (temp2) 16 degrees lower than they really are. So far we have been cheating and handled this in userspace but it really should be handled by the driver directly. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Matthew Garrett <mjg59@srcf.ucam.org>
2008-10-26hwmon: (lm90) Fix handling of hysteresis valueJean Delvare
There are several problems in the way the hysteresis value is handled by the lm90 driver: * In show_temphyst(), specific handling of the MAX6646 is missing, so the hysteresis is reported incorrectly if the critical temperature is over 127 degrees C. * In set_temphyst(), the new hysteresis register value is written to the chip but data->temp_hyst isn't updated accordingly, so there is a short period of time (up to 2 seconds) where the old hystereris value will be returned while the new one is already active. * In set_temphyst(), the critical temperature which is used as a base to compute the value of the hysteresis register lacks device-specific handling. As a result, the value of the hysteresis register might be incorrect for the ADT7461 and MAX6646 chips. Fix these 3 bugs. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Ben Hutchings <bhutchings@solarflare.com> Cc: Nate Case <ncase@xes-inc.com>
2008-10-26hwmon-vid: Add support for AMD family 10h CPUsJean Delvare
The AMD family 10h CPUs use the same VID decoding table as the family 0Fh CPUs. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Rudolf Marek <r.marek@assembler.cz>
2008-10-26hwmon: (w83781d) Fix linking when built-inGeert Uytterhoeven
When w83781d is built-in, the final links fails with the following vague error message: `.exit.text' referenced in section `.init.text' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o w83781d_isa_unregister() cannot be marked __exit, as it's also called from sensors_w83781d_init(), which is marked __init. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2008-10-25Merge branch 'for_linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Fix duplicate entries returned from getdents() system call ext3: Fix duplicate entries returned from getdents() system call
2008-10-25Revert "Call init_workqueues before pre smp initcalls."Linus Torvalds
This reverts commit a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635 by moving the call to init_workqueues() back where it belongs - after SMP has been initialized. It also moves stop_machine_init() - which needs workqueues - to a later phase using a core_initcall() instead of early_initcall(). That should satisfy all ordering requirements, and was apparently the reason why init_workqueues() was moved to be too early. Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-25ext4: Fix duplicate entries returned from getdents() system callTheodore Ts'o
Fix a regression caused by commit d0156417, "ext4: fix ext4_dx_readdir hash collision handling", where deleting files in a large directory (requiring more than one getdents system call), results in some filenames being returned twice. This was caused by a failure to update info->curr_hash and info->curr_minor_hash, so that if the directory had gotten modified since the last getdents() system call (as would be the case if the user is running "rm -r" or "git clean"), a directory entry would get returned twice to the userspace. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> This patch fixes the bug reported by Markus Trippelsdorf at: http://bugzilla.kernel.org/show_bug.cgi?id=11844 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de>
2008-10-25ext3: Fix duplicate entries returned from getdents() system callTheodore Ts'o
Fix a regression caused by commit 6a897cf4, "ext3: fix ext3_dx_readdir hash collision handling", where deleting files in a large directory (requiring more than one getdents system call), results in some filenames being returned twice. This was caused by a failure to update info->curr_hash and info->curr_minor_hash, so that if the directory had gotten modified since the last getdents() system call (as would be the case if the user is running "rm -r" or "git clean"), a directory entry would get returned twice to the userspace. This patch fixes the bug reported by Markus Trippelsdorf at: http://bugzilla.kernel.org/show_bug.cgi?id=11844 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de>
2008-10-25Merge branch 'i7300_idle' into releaseLen Brown
2008-10-25leds-hp-disk: fix build warningLen Brown
drivers/leds/leds-hp-disk.c:59: warning: passing argument 4 of ‘acpi_evaluate_integer’ from incompatible pointer type Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-25ACPI: Oops in ACPI with git latestRafael J. Wysocki
ACPI Warning (nseval-0168): Insufficient arguments - method [_OSC] needs 5, found 4 [20080926] ACPI Warning (nspredef-0252): \_SB_.PCI0._OSC: Parameter count mismatch - ASL declared 5, expected 4 [20080926] ACPI Error (nspredef-0163): \_SB_.PCI0._OSC: Missing expected return value [20080926] BUG: unable to handle kernel NULL pointer dereference at 00000000 IP: [<c0237671>] acpi_run_osc+0xa1/0x170 Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Tested-by: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-25ACPI suspend: build fix for ACPI_SLEEP=n && XEN_SAVE_RESTORE=y.Rafael J. Wysocki
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-25toshiba_acpi: always call input_sync() after input_report_switch()Len Brown
Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-25ACPI: Always report a sync event after a lid state changeGuillem Jover
Currently not always an EV_SYN event is reported to userland after the EV_SW SW_LID event has been sent. This is easy to verify by using “input-events” from input-utils and just closing and opening the lid. Signed-off-by: Guillem Jover <guillem.jover@nokia.com> Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-25ACPI: cpufreq, processor: fix compile error in drivers/acpi/processor_perflib.cMiao Xie
When trying to build 2.6.28-rc1 on ia64, make aborts with: CC drivers/acpi/processor_perflib.o drivers/acpi/processor_perflib.c:41:28: error: asm/cpufeature.h: No such file or directory drivers/acpi/processor_perflib.c: In function ‘acpi_processor_get_performance_info’: drivers/acpi/processor_perflib.c:364: error: implicit declaration of function ‘boot_cpu_has’ drivers/acpi/processor_perflib.c:364: error: ‘X86_FEATURE_EST’ undeclared (first use in this function) drivers/acpi/processor_perflib.c:364: error: (Each undeclared identifier is reported only once drivers/acpi/processor_perflib.c:364: error: for each function it appears in.) make[2]: *** [drivers/acpi/processor_perflib.o] Error 1 make[1]: *** [drivers/acpi] Error 2 make: *** [drivers] Error 2 this patch fix it. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> Acked-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-24i7300_idle: Fix compile warning CONFIG_I7300_IDLE_IOAT_CHANNEL not definedVenki Pallipadi
When I7300_idle driver is not configured, there is a compile time warning about IDLE_IOAT_CHANNEL not defined. Fix it. Reported-by: Suresh Siddha <suresh.b.siddha@intel.com> Reported-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-24i7300_idle: Cleanup based review commentsVenki Pallipadi
Cleanup of i7300 idle driver based on review comments from Randy Dunlap, Andi Kleen and Len Brown. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-24i7300_idle: Disable ioat channel only on platforms where ile driver can loadVenki Pallipadi
Based on input from Andi Kleen: share the platform detection code with ioat_dma and disable the channel in dma engine only for specific platforms. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-24mfd: Make WM8400 depend on I2C until SPI is submittedMark Brown
Otherwise we could build in WM8400 but not I2C. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2008-10-24mfd: add missing Kconfig entry for da903xSamuel Ortiz
This one was accidentally left out during the rc1 mfd merge. Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2008-10-24uwb: build UWB before USB/WUSBDavid Vrabel
The WHCI-HCD driver in drivers/usb/host/ depends on the umc driver in drivers/uwb/. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-10-24libata: fix bug with non-ncq devicesJens Axboe
The recent commit 2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e ("libata: switch to using block layer tagging support") to enable support for block layer tagging in libata was broken for non-NCQ devices The block layer initializes the tag field to -1 to detect invalid uses of a tag, and if the libata devices does NOT support NCQ, we just used that field to index the internal command list. So we need to check for -1 first and only use the tag field if it's valid. Signed-off-by: Jens Axboe <jens.axboe@oracle.com> Reported-by: Alexander Beregalov <a.beregalov@gmail.com> Tested-by: Paul Mundt <lethal@linux-sh.org> Tested-by: Dave Young <hidave.darkstar@gmail.com> Tested-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>