16 Dec, 2006
15 commits
-
The UDMA66 VIA hardware has no controller side cable detect bits we can
use. This patch minimally fixes the problem by reporting unknown in this
case and using drive side detection.The old drivers/ide code does some additional tricks but those aren't
appropriate now we are in -rc.Without this update UDMA66 via controllers run slowly. They don't fail so
it's a borderline call whether this is -rc material or not.Signed-off-by: Alan Cox
Signed-off-by: Jeff Garzik -
> Thanks for clarifying Bill, and sorry Alan. ata_piix does indeed work
> correctly. The help text is a bit confusing:
>
> config ATA_PIIX
> tristate "Intel PIIX/ICH SATA support"
> depends on PCI
> help
> This option enables support for ICH5/6/7/8 Serial ATA.
> If PATA support was enabled previously, this enables
> support for select Intel PIIX/ICH PATA host controllers.New help text
Signed-off-by: Alan Cox
Signed-off-by: Jeff Garzik -
This removes the extra definition of the .error_handler member
in the pata_rz1000 driver.Signed-off-by: Ira W. Snyder
Cc: Jeff Garzik
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Jeff Garzik -
The return value of platform_device_register_simple() should be checked
by IS_ERR().Cc: Jeff Garzik
Acked-by: Alan Cox
Signed-off-by: Akinobu Mita
Signed-off-by: Andrew Morton
Signed-off-by: Jeff Garzik -
Do not mangle with HOST_CAP while resetting controller. The code is
there for a historical reason. The mangling breaks controller feature
detection and 0 PORTS_IMPL workaround code.This problem was spotted by Manoj Kasichainula.
Signed-off-by: Tejun Heo
Cc: Manoj Kasichainula
Signed-off-by: Jeff Garzik -
Calling sg_init_one() with NULL buf causes oops on certain
configurations. Don't initialize sg in ata_exec_internal() if
DMA_NONE and make the function complain if @buf is NULL when dma_dir
isn't DMA_NONE. While at it, fix comment.The problem is discovered and initial patch was submitted by Arnd
Bergmann.Signed-off-by: Tejun Heo
Cc: Arnd Bergmann
Signed-off-by: Jeff Garzik -
Current Broadcom/Serverworks SATA boards (including Apple K2 SATA)
have problems with ATAPI DMA, so it is disabled. ATAPI PIO, ATA PIO,
and ATA DMA continue to work just fine.Acked-by: Anantha Subramanyam
Signed-off-by: Jeff Garzik -
We are inside spin_lock_irqsave(). quoth akpm's debug facility:
[ 231.948000] SCSI device sda: 195371568 512-byte hdwr sectors (100030 MB)
[ 232.232000] ata1.00: configured for UDMA/33
[ 232.404000] WARNING (1) at arch/i386/mm/highmem.c:47 kmap_atomic()
[ 232.404000] [] kmap_atomic+0xa9/0x1ab
[ 232.404000] [] ata_scsi_rbuf_get+0x1c/0x30
[ 232.404000] [] ata_scsi_rbuf_fill+0x1a/0x87
[ 232.404000] [] ata_scsiop_mode_sense+0x0/0x309
[ 232.404000] [] end_bio_bh_io_sync+0x0/0x37
[ 232.404000] [] scsi_done+0x0/0x16
[ 232.404000] [] scsi_done+0x0/0x16
[ 232.404000] [] ata_scsi_simulate+0xb0/0x13f
[...]Signed-off-by: Jeff Garzik
-
piix_init_one() allocates host private data which should be freed by
piix_host_stop(). ich_pata_ops wasn't converted to piix_host_stop()
while merging, leaking 4 bytes on driver detach. Fix it.This was spotted using Kmemleak by Catalin Marinas.
Signed-off-by: Tejun Heo
Cc: Catalin Marinas
Signed-off-by: Jeff Garzik -
This updated patch adds the Intel ICH9 IDE mode SATA controller DID's.
Signed-off-by: Jason Gaston
Acked-by: Tejun Heo
Cc: Jeff Garzik
Signed-off-by: Andrew Morton
Signed-off-by: Jeff Garzik -
Asynchronous probe can release memory of a subchannel before
css_get_ssd_info is called. To fix this call css_get_ssd_info
before registering with driver core.Signed-off-by: Stefan Bader
Signed-off-by: Martin Schwidefsky -
Reboot hangs on LPARs without diag308 support. The reason for this is,
that before the reboot is done, the channel subsystem is shut down.
During the reset on each possible subchannel a "store subchannel" is
done. This operation can end in a program check interruption, if the
specified subchannel set is not implemented by the hardware. During
the reset, currently we do not have a program check handler, which
leads to the described kernel bug. We install now a new program check
handler for the reboot code to fix this problem.Signed-off-by: Michael Holzheu
Signed-off-by: Martin Schwidefsky -
sclp_cpi is GPL. Make the module not taint the kernel
Signed-off-by: Christian Borntraeger
Signed-off-by: Martin Schwidefsky -
Add code to reset all queues for a domain and add missing tasklet_kill
call to ap bus module exit code.Signed-off-by: Ralph Wuerthner
Signed-off-by: Martin Schwidefsky -
A HiperSocket multicast queue works asynchronously. When sending
buffers, the buffer state change from PRIMED to EMPTY may happen
delayed. Reschedule the checking for changes in the outbound queue,
if there are still PRIMED buffers.Signed-off-by: Ursula Braun
Signed-off-by: Martin Schwidefsky
14 Dec, 2006
25 commits
-
platform_device_add_data() makes a copy of the data that is given to it,
and thus the parameter can be const. This removes a warning when data
from get_property() on powerpc is handed to platform_device_add_data(),
as get_property() returns a const pointer.Signed-off-by: Scott Wood
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
This function can be __init
Cc: David Brownell
Cc: Dmitry Torokhov
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
Class virtual directory is created as the need arises.
But it is not deleted when the class is unregistered.Signed-off-by: Akinobu Mita
Signed-off-by: Greg Kroah-Hartman -
This adds initial support to 8250-pci for the Korenix Jetcard PCI serial
cards. The JC12xx cards are standard RS232-based serial cards utilising
the Oxford 16C950 device.The JC14xx are RS422/RS485-based cards, but in order for these to be
supported natively, we will need additional tweaks to the 8250 layers so
we can specify some values for the 950's registers. Hence, these two
entries are commented out.Signed-off-by: Russell King
Signed-off-by: Linus Torvalds -
* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block:
[PATCH] Fixup cciss error handling
[PATCH] Allow as-iosched to be unloaded
[PATCH 2/2] cciss: remove calls to pci_disable_device
[PATCH 1/2] cciss: map out more memory for config table
[PATCH] Propagate down request sync flagResolve trivial whitespace conflict in drivers/block/cciss.c manually.
-
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
hwmon: Add MAINTAINERS entry for new ams driver
hwmon: New AMS hardware monitoring driver
hwmon/w83793: Add documentation and maintainer
hwmon: New Winbond W83793 hardware monitoring driver
hwmon: Update Rudolf Marek's e-mail address
hwmon/f71805f: Fix the device address decoding
hwmon/f71805f: Always create all fan inputs
hwmon/f71805f: Add support for the Fintek F71872F/FG chip
hwmon: New PC87427 hardware monitoring driver
hwmon/it87: Remove the SMBus interface support
hwmon/hdaps: Update the list of supported devices
hwmon/hdaps: Move the DMI detection data to .data
hwmon/pc87360: Autodetect the VRM version
hwmon/f71805f: Document the fan control features
hwmon/f71805f: Add support for "speed mode" fan speed control
hwmon/f71805f: Support DC fan speed control mode
hwmon/f71805f: Let the user adjust the PWM base frequency
hwmon/f71805f: Add manual fan speed control
hwmon/f71805f: Store the fan control registers -
Run this:
#!/bin/sh
for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
echo "De-casting $f..."
perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
doneAnd then go through and reinstate those cases where code is casting pointers
to non-pointers.And then drop a few hunks which conflicted with outstanding work.
Cc: Russell King , Ian Molton
Cc: Mikael Starvik
Cc: Yoshinori Sato
Cc: Roman Zippel
Cc: Geert Uytterhoeven
Cc: Ralf Baechle
Cc: Paul Mackerras
Cc: Kyle McMartin
Cc: Benjamin Herrenschmidt
Cc: Martin Schwidefsky
Cc: "David S. Miller"
Cc: Jeff Dike
Cc: Greg KH
Cc: Jens Axboe
Cc: Paul Fulghum
Cc: Alan Cox
Cc: Karsten Keil
Cc: Mauro Carvalho Chehab
Cc: Jeff Garzik
Cc: James Bottomley
Cc: Ian Kent
Cc: Steven French
Cc: David Woodhouse
Cc: Neil Brown
Cc: Jaroslav Kysela
Cc: Takashi Iwai
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Modify the sstfb (Voodoo1/2) driver:
- fix a memleak when removing the sstfb module
- fix sstfb to use the fbdev default videomode database
- add module option "mode_option" to set initial screen mode
- add sysfs-interface to turn VGA-passthrough on/off via
/sys/class/graphics/fbX/vgapass- remove old debug functions from ioctl interface
Signed-off-by: Helge Deller
Acked-By: James Simmons
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Remove references to non-existent fbmon_valid_timings()
Signed-off-by: Geert Uytterhoeven
Cc: James Simmons
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The undocumented register BIOS uses for saving f_CNT seems to only be
mapped to I/O space while all the other HPT3xx regs are dual-mapped. Looks
like another HighPoint's dirty trick. With this patch, the deadly kernel
oops on the cards having the modern HighPoint BIOSes is now at last gone!Signed-off-by: Sergei Shtylyov
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use the f_CNT value saved by the HighPoint BIOS if available as reading it
directly would give us a wrong PCI frequency after DPLL has already been
calibrated by BIOS.Signed-off-by: Sergei Shtylyov
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
init_chipset_hpt366() modifies some fields of the ide_pci_device_t structure
depending on the chip's revision, so pass it a copy of the structure to avoid
issues when multiple different chips are present.Signed-off-by: Sergei Shtylyov
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix the broken hotswap code: on HPT37x it caused RESET- to glitch when
tristating the bus (the MISC control 3/6 and soft control 2 need to be written
to in the certain order), and for HPT36x the obsolete HDIO_TRISTATE_HWIF
ioctl() handler was called instead which treated the state argument wrong.
Also, get rid of the soft control reg. 1 wtite to enable IDE interrupt --
this is done in init_hpt37x() already...Have been tested on HPT370 and 371N.
Signed-off-by: Sergei Shtylyov
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Save some space on the timing tables by introducing the separate transfer mode
table in which the mode lookup is done to get the index into the timing table
itself. Get rid of the rest of the obsolete/duplicate tables and use one set
of tables for the whole HPT37x chip family like the HighPoint open-source
drivers do. Documnent the different timing register layout for the HPT36x
chip family (this is my guesswork based on the timing values).Have been tested and works fine on HPT370/302/371N.
Signed-off-by: Sergei Shtylyov
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix/remove bad/unused timing tables: HPT370/A 66 MHz tables weren't really
needed (the chips are not UltraATA/133 capable and shouldn't support 66 MHz
PCI) and had many modes over- and underclocked, HPT372 33 MHz table was in
fact for 66 MHz and 50 MHz table missed UltraDMA mode 6, HPT374 33 MHz table
was really for 50 MHz... (Actually, HPT370/A 33 MHz tables also have issues.
e.g. HPT370 has PIO modes 0/1 overlocked.)There's also no need in the separate HPT374 tables because HPT372 timings
should be the same (and those tables has UltraDMA mode 6 which HPT374 supports
depending on HPT374_ALLOW_ATA133_6 #define)...Signed-off-by: Sergei Shtylyov
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix serious problems with the HPT372N clock turnaround code:
- the wrong ports were written to when called for the secondary channel;
- it didn't serialize access to the channels;
- turnaround shou;dn't be done on 66 MHz PCI;
- caching the clock mode per-channel caused it to get out of sync with the
actual register value.Additionally, avoid calibrating PLL twice (for each channel) as the second try
results in a wrong PCI frequency and thus in the wrong timings.Make the driver deal with HPT302N and HPT371N correctly -- the clocking and
(seemingly) a need for clock tunaround is the same as for HPT372N. HPT371/N
chips have only one, secondary channel, so avoid touching their "pure virtual"
primary channel, and disable it if the BIOS haven't done this already.Also, while at it, disable UltraATA/133 for HPT372 by default -- 50 MHz DPLL
clock don't allow for this speed anyway. And remove the traces of the former
bad patch that wasn't even applicable to this version of driver.Has been tested on HPT370/371N, unfortunately I don't have an instant access
to the other chips...Signed-off-by: Sergei Shtylyov
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The BLK_DEV_SWIM_IOP driver has:
- already been marked as BROKEN in 2.6.0 three years ago and
- is still marked as BROKEN.Drivers that had been marked as BROKEN for such a long time seem to be
unlikely to be revived in the forseeable future.But if anyone wants to ever revive this driver, the code is still
present in the older kernel releases.Signed-off-by: Adrian Bunk
Cc: Jens Axboe
Acked-by: Geert Uytterhoeven
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Currently this driver tracks user space clients it should send signals to. In
the presenct of file descriptor passing this is appears susceptible to
confusion from pid wrap around issues.Replacing this with a struct pid prevents us from getting confused, and
prepares for a pid namespace implementation.Signed-off-by: Eric W. Biederman
Cc: David Woodhouse
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
tty_ldisc_deref() should only be called when tty_ldisc_ref() succeeds
otherwise it triggers a BUG(). There's already a function
tty_ldisc_flush() that flushes properly.Signed-off-by: Dan Carpenter
Acked-by: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix a glitch in the procfs dumping of whether the alarm IRQ is enabled: use
the traditional name (from drivers/char/rtc.c and many other places) of
"alarm_IRQ", not "alrm_wakeup" (which didn't even match the efirtc code, which
originated that reporting API).Also, update a few of the RTC drivers to stop providing that duplicate status,
and/or to expose it properly when reporting the alarm state. We really don't
want every RTC driver doing their own thing here...Signed-off-by: David Brownell
Acked-by: Alessandro Zummo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This removes some syslog spam as RTC drivers register; debug messages
shouldn't come out at "info" level.Signed-off-by: David Brownell
Acked-by: Alessandro Zummo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
- conditionalizes procfs code upon CONFIG_PROC_FS (to reduce code size when
that option is not enabled)- make initialization no longer fail when the procfs entry can't be
allocated (namely would initialization always have failed when
CONFIG_PROC_FS was not set)- move the formerly file-scope static variable rtc_int_handler_ptr into
the only function using it, and makes it automatic.Signed-off-by: Jan Beulich
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Ensure RTC driver doesn't use its timer when it doesn't get to set it up
(as it cannot currently prevent other of its functions to be called from
outside when not built as a module - probably this should also be
addressed).Signed-off-by: Jan Beulich
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Now that it's built on m68k too...
Signed-off-by: Al Viro
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Al Viro
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds