Commit Graph

51269 Commits

Author SHA1 Message Date
Tony Vroon
56960b546a fujitsu-laptop: Add DMI callback for Lifebook S6420
The Lifebook S6420 is the ICH9M-based follow-up to the S6410. The application panel
contains the following keys: lock, mobility center, eco, info.
Whilst key 4 might be more appropriate for help then key 2, I've done things the
S6410 way. I can confirm that backlight control is functional, and that the lock key
activates the Gnome screensaver as expected.

Signed-off-by: Tony Vroon <tony@linx.net>
Acked-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-11 21:11:49 -05:00
Lin Ming
a1a8d334f9 Delete an unwanted return statement at evgpe.c
Len's tree branch release-2.6.27, found an unwanted return statement at
evgpe.c.

(git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
release-2.6.27)

Signed-of-by Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-07 22:21:33 -05:00
Bjorn Helgaas
a0d84a92df ACPI: update debug parameter documentation
Reformat acpi.debug_layer and acpi.debug_level documentation so it's
more readable, add some clues about how to figure out the mask bits that
enable a specific ACPI_DEBUG_PRINT statement, and include some useful
examples.

Move the list of masks to Documentation/acpi/debug.txt (these are
copies of the authoritative values in acoutput.h and acpi_drivers.h).

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-07 21:45:29 -05:00
Bjorn Helgaas
87b586088e ACPI: turn off all debug output by default
When CONFIG_ACPI_DEBUG=y, the default acpi_dbg_layer and acpi_dbg_level
values built into the ACPI CA have some debug output enabled.  We'd
rather be quiet unless the user actually specified the acpi.debug_level
argument.

This enables distros to ship with CONFIG_ACPI_DEBUG=y without
inundating users with debug output.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-07 21:45:16 -05:00
Bjorn Helgaas
bdd7279919 ACPI: add driver component definitions to sysfs debug_layers
/sys/module/acpi/parameters/debug_layers used to contain only the
debug layers defined by the ACPI CA.  This patch adds the additional
layer definitions for ACPI drivers.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-07 21:45:04 -05:00
Bjorn Helgaas
89595b8f28 ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h
Move all the component definitions for drivers to a single shared place,
include/acpi/acpi_drivers.h.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-07 21:44:37 -05:00
Yinghai Lu
14a63ba821 ACPI: use macro to replace hard number
Impact: cleanup

Use MACRO for rev 3 fadt id instead of 3 directly.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 21:51:02 -05:00
Randy Dunlap
afeb12b747 fujitsu-laptop: fix section mismatch warning
Could fix a bug in a hotplug add scenario.

WARNING: drivers/misc/fujitsu-laptop.o(.text+0xbde): Section mismatch in reference from the function acpi_fujitsu_add() to the variable .init.data:fujitsu_dmi_table
The function acpi_fujitsu_add() references
the variable __initdata fujitsu_dmi_table.
This is often because acpi_fujitsu_add lacks a __initdata
annotation or the annotation of fujitsu_dmi_table is wrong.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 21:42:07 -05:00
Len Brown
d17cb18a07 Revert "ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism"
This reverts commit 8fd145917f.

http://bugzilla.kernel.org/show_bug.cgi?id=11942

Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 20:51:59 -05:00
Thomas, Sujith
d65dcdcf0c intel_menlow: Add comment documenting legal GTHS values
Signed-off-by: Sujith Thomas <sujith.thomas@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 20:24:24 -05:00
Bjorn Helgaas
8950d89aca ACPI: remove CONFIG_ACPI_EC
Remove CONFIG_ACPI_EC.  It was always set the same as CONFIG_ACPI,
and it had no menu label, so there was no way to set it to anything
other than "y".

Per section 6.5.4 of the ACPI 3.0b specification,

    OSPM must make Embedded Controller operation regions, accessed
    via the Embedded Controllers described in ECDT, available before
    executing any control method.

The ECDT table is optional, but if it is present, the above text
means that the EC it describes is a required part of the ACPI
subsystem, so CONFIG_ACPI_EC=n wouldn't make sense.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 15:52:28 -05:00
Bjorn Helgaas
fefe5ab3d6 ACPI: remove CONFIG_ACPI_POWER
Remove CONFIG_ACPI_POWER.  It was always set the same as CONFIG_ACPI,
and it had no menu label, so there was no way to set it to anything
other than "y".

The interfaces under CONFIG_ACPI_POWER (acpi_device_sleep_wake(),
acpi_power_transition(), etc) are called unconditionally from the
ACPI core, so we already depend on it always being present.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 15:42:38 -05:00
Bjorn Helgaas
5b881479af ACPI: SBS: remove useless acpi_cm_sbs_init() initcall
acpi_cm_sbs_init() doesn't do anything, so we can just remove it.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 15:31:15 -05:00
Bjorn Helgaas
5704d626e7 ACPI: remove comments about debug layer/level to use
I don't think there's any point in cluttering the code with these.
Better to improve the documentation so *anybody* can figure out
what layer & level to use.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-06 15:30:19 -05:00
Zhang Rui
c2d06fe338 intel_menlow: don't set max_state a negative value
max_state is unsigned long.
don't set max_state a negative value

Cc : Thomas Sujith <sujith.thomas@intel.com>
Cc : Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-03 22:56:32 -05:00
Venki Pallipadi
2830c9fb8e i7300_idle: Kconfig, show menu only on x86_64
...since today it contains only a single driver
which is visible to just x86_64

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-10-28 00:14:47 -04:00
Linus Torvalds
49fdf6785f Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  libata: fix NCQ devices behind port multipliers
  scsi: make sure that scsi_init_shared_tag_map() doesn't overwrite existing map
2008-10-27 11:41:51 -07:00
Jens Axboe
43a49cbdf3 libata: fix NCQ devices behind port multipliers
For devices behind sata port multipliers, we have to make sure that
they share a tag map since all tags for that PMP must be unique.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-10-27 19:25:30 +01:00
Linus Torvalds
b70a6b27ed Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (33 commits)
  MIPS: lemote/lm2e: Added io_map_base to pci controller
  MIPS: TXx9: Make firmware parameter passing more robust
  MIPS: Markeins: Remove unnecessary define and cleanup comments, etc.
  MIPS: Markeins: Extract ll_emma2rh_* functions
  MIPS: Markeins: Remove runtime debug prints
  MIPS: EMMA: Fold arch/mips/emma/{common,markeins}/irq*.c into markeins/irq.c
  MIPS: EMMA2RH: Remove emma2rh_gpio_irq_base
  MIPS: EMMA2RH: Remove emma2rh_sw_irq_base
  MIPS: EMMA2RH: Remove emma2rh_irq_base global variable
  MIPS: EMMA2RH: Remove emma2rh_sync on read operation
  MIPS: EMMA: Move <asm/emma2rh> to <asm/emma> dir
  MIPS: EMMA: Move arch/mips/emma2rh/ into arch/mips/emma/
  MIPS: EMMA: Kconfig reorganization
  MIPS: Add CONFIG_CPU_R5500 for NEC VR5500 series processors
  MIPS: RB532: Disable the right device
  MIPS: Add support for NXP PNX833x (STB222/5) into linux kernel
  MIPS: TXx9: CONFIG_TOSHIBA_RBTX4939 spelling
  MIPS: Fix KGDB build error
  INPUT: sgi_btns: Add license specification
  MIPS: IP22: ip22-int.c header file weeding.
  ...
2008-10-27 09:54:23 -07:00
Linus Torvalds
1d63e72640 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: fw-sbp2: fix races
  firewire: fw-sbp2: delay first login to avoid retries
  firewire: fw-ohci: initialization failure path fixes
  firewire: fw-ohci: don't leak dma memory on module removal
  firewire: fix struct fw_node memory leak
  firewire: Survive more than 256 bus resets
2008-10-27 09:37:16 -07:00
Dmitri Vorobiev
4c2bdcdc62 INPUT: sgi_btns: Add license specification
The SGI Volume Button interface driver uses GPL-only symbols
platform_driver_unregister and platform_driver_register, but
lacks license specification. Thus, when compiled as a module,
this driver cannot be installed. This patch fixes this by
adding the MODULE_LICENSE() specification.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.fi>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-10-27 16:18:28 +00:00
Linus Torvalds
6634160abf Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  syncookies: fix inclusion of tcp options in syn-ack
  libertas: free sk_buff with kfree_skb
  btsdio: free sk_buff with kfree_skb
  Phonet: do not reply to indication reset packets
  Phonet: include generic link-layer header size in MAX_PHONET_HEADER
2008-10-27 08:41:13 -07:00
Alan Cox
77122d0b5d Tidy up addresses in random drivers
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-27 08:39:52 -07:00
Eric Miao
b9b54aa2a6 leds: da903x: fix the building failure of incomplete type of 'work'
The leds-da903x LED driver was missing the proper #include of
linux/workqueue.h, but happened to compile on ARM due to implied
includes through other header files.

We do need the explict include on other architectures (reported at least
for x86-64).

Reported-tested-and-acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-27 08:38:16 -07:00
Sergio Luis
b700a98c70 libertas: free sk_buff with kfree_skb
free sk_buff with kfree_skb, instead of kree
 
Signed-off-by: Sergio Luis <sergio@larces.uece.br>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-10-26 23:09:27 -07:00
Sergio Luis
cbfd24a75f btsdio: free sk_buff with kfree_skb
free sk_buff with kfree_skb, instead of kree
 
Signed-off-by: Sergio Luis <sergio@larces.uece.br>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-10-26 23:08:48 -07:00
Linus Torvalds
f8d56f1771 Merge branch 'for-linus' of git://neil.brown.name/md
* '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-26 16:42:18 -07:00
Linus Torvalds
3d6eadcb50 Merge branch 'for-linus' of 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-26 16:40:59 -07:00
Linus Torvalds
a483ab1ddd Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd
* '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-26 16:37:37 -07:00
Linus Torvalds
eba966a4e7 Merge branch 'for-upstream' of 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-26 16:35:46 -07:00
Linus Torvalds
ecc96e7920 Merge branch 'for-linus' of 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-26 16:34:14 -07:00
Linus Torvalds
7eea5b897e Merge branch 'release' of 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-26 16:29:12 -07:00
Geert Uytterhoeven
d1a35e4d74 m68k: Disable Amiga serial console support if modular
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-26 12:11:21 -07:00
Linus Torvalds
b1cd2ee3b9 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
* '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-26 09:36:19 -07:00
Francois Romieu
e383d56487 r8169: revert "read MAC address from EEPROM on init"
This reverts commit 7bf6bf4803.

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-26 09:35:05 -07:00
Al Viro
1137fb6704 arm ide breakage
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-26 09:35:05 -07:00
Alistair John Strachan
c02d65694d hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX
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-26 17:04:40 +01:00
Alistair John Strachan
4777e4e6b8 hwmon: (abituguru3) Cosmetic whitespace fixes
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-26 17:04:40 +01:00
Jean Delvare
be821b78af hwmon: (adt7473) Fix voltage conversion routines
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-26 17:04:40 +01:00
Jean Delvare
97ae60bb38 hwmon: (lm90) Add support for the LM99 16 degree offset
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-26 17:04:39 +01:00
Jean Delvare
ec38fa2b35 hwmon: (lm90) Fix handling of hysteresis value
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-26 17:04:39 +01:00
Jean Delvare
1b871826b3 hwmon-vid: Add support for AMD family 10h CPUs
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-26 17:04:39 +01:00
Geert Uytterhoeven
dd56b63895 hwmon: (w83781d) Fix linking when built-in
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-26 17:04:38 +01:00
Jay Fenlason
cd1f70fdb4 firewire: fw-sbp2: fix races
1: There is a small race between queue_delayed_work() and its
   corresponding kref_get().  Do the kref_get first, and _put it again
   if the queue_delayed_work() failed, so there is no chance of the
   kref going to zero while the work is scheduled.
2: An SBP2_LOGOUT_REQUEST could be sent out with a login_id full of
   garbage.  Initialize it to an invalid value so we can tell if we
   ever got a valid login_id.
3: The node ID and generation may have changed but the new values may
   not yet have been recorded in lu and tgt when the final logout is
   attempted.  Use the latest values from the device in
   sbp2_release_target().

Signed-off-by: Jay Fenlason <fenlason@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-10-26 10:27:01 +01:00
Stefan Richter
0dcfeb7e3c firewire: fw-sbp2: delay first login to avoid retries
This optimizes firewire-sbp2's device probe for the case that the local
node and the SBP-2 node were discovered at the same time.  In this case,
fw-core's bus management work and fw-sbp2's login and SCSI probe work
are scheduled in parallel (in the globally shared workqueue and in
fw-sbp2's workqueue, respectively).  The bus reset from fw-core may then
disturb and extremely delay the login and SCSI probe because the latter
fails with several command timeouts and retries and has to be retried
from scratch.

We avoid this particular situation of sbp2_login() and fw_card_bm_work()
running in parallel by delaying the first sbp2_login() a little bit.

This is meant to be a short-term fix for
https://bugzilla.redhat.com/show_bug.cgi?id=466679.  In the long run,
the SCSI probe, i.e. fw-sbp2's call of __scsi_add_device(), should be
parallelized with sbp2_reconnect().

Problem reported and fix tested and confirmed by Alex Kanavin.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-10-26 10:27:01 +01:00
Stefan Richter
7007a0765e firewire: fw-ohci: initialization failure path fixes
Fix leaks when pci_probe fails.  Simplify error log strings.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-10-26 10:27:00 +01:00
Jay Fenlason
a55709ba9d firewire: fw-ohci: don't leak dma memory on module removal
The transmit and receive context dma memory was not being freed on
module removal.  Neither was the config rom memory.  Fix that.

The ab->next assignment is pure paranoia.

Signed-off-by: Jay Fenlason <fenlason@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-10-26 10:27:00 +01:00
Jay Fenlason
77e5571917 firewire: fix struct fw_node memory leak
With the bus_resets patch applied, it is easy to see this memory leak
by repeatedly resetting the firewire bus while running slabtop in
another window.  Just watch kmalloc-32 grow and grow...

Signed-off-by: Jay Fenlason <fenlason@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-10-26 10:27:00 +01:00
Jay Fenlason
4f9740d4f5 firewire: Survive more than 256 bus resets
The "color" is used during the topology building after a bus reset,
hovever in "struct fw_node"s it is stored in a u8, but in struct fw_card
it is stored in an int.  When the value wraps in one struct, but not
the other, disaster strikes.

Signed-off-by: Jay Fenlason <fenlason@redhat.com>

Fixes http://bugzilla.kernel.org/show_bug.cgi?id=10922.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-10-26 10:26:59 +01:00
Len Brown
9fb3c5ca3d Merge branch 'i7300_idle' into release 2008-10-25 04:07:44 -04:00