Commit Graph

6479 Commits

Author SHA1 Message Date
James.Smart@Emulex.Com
42e33148df [SCSI] fix for fc transport recursion problem.
In the scenario that a link was broken, the devloss timer for each
rport was expire at roughly the same time, causing lots of "delete"
workqueue items being queued. Depth is dependent upon the number of
rports that were on the link.

The rport target remove calls were calling flush_scheduled_work(),
which would interrupt the stream, and start the next workqueue item,
which did the same thing, and so on until recursion depth was large.

This fix stops the recursion in the initial delete path, and pushes it
off to a host-level work item that reaps the dead rports.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-12-15 19:22:14 -08:00
Linus Torvalds
7116317dc9 Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 2005-12-14 18:58:46 -08:00
Vojtech Pavlik
ea54c96c04 [PATCH] Input: ALPS - correctly report button presses on Fujitsu Siemens S6010
Without this patch Forward and Backward buttons on the touchpad do not
generate any events.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-14 18:54:20 -08:00
Linus Torvalds
a50e2cc7c8 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2005-12-14 18:40:02 -08:00
Bartlomiej Zolnierkiewicz
0afaa4fc4a [PATCH] ide-cd: remove write-only cmd field from struct cdrom_info
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2005-12-15 02:20:49 +01:00
Bartlomiej Zolnierkiewicz
d36fef6f5a [PATCH] ide-disk: flush cache after calling del_gendisk()
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2005-12-15 02:19:20 +01:00
Jordan Crouse
8f29e650bf [PATCH] ide: AU1200 IDE update
Changes here include removing all of CONFIG_PM while it is being repeatedly
smacked with a lead pipe, moving the BURSTMODE param to a #define (it should
be defined almost always anyway), fixing the rqsize stuff, pulling ide_ioreg_t,
and general cleanups and whatnot.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2005-12-15 02:17:46 +01:00
Jordan Crouse
65e5f2e3b4 [PATCH] ide: core modifications for AU1200
bart: slightly modified by me

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2005-12-15 02:16:18 +01:00
Marcelo Tosatti
38f9d412be [PATCH] ide: MPC8xx IDE depends on IDE=y && BLK_DEV_IDE=y
The following patch adds a dependancy on IDE=y && BLK_DEV_IDE=y 
for the MPC8xx IDE driver. 

The code is not modular at the moment (init called from platform setup code).

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2005-12-15 02:12:53 +01:00
Daniel Drake
ceef833bae [PATCH] via82cxxx IDE: Add VT8251 ISA bridge
Some motherboards (such as the Asus P5V800-MX) ship a
PCI_DEVICE_ID_VIA_82C586_1 IDE controller alongside a VT8251 southbridge.

This southbridge is currently unrecognised in the via82cxxx IDE driver,
preventing those users from getting DMA access to disks.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2005-12-15 02:11:55 +01:00
Jeremy Higdon
deb5e5c0c6 [PATCH] sgiioc4: check for no hwifs available
Add a check to the sgiioc4 driver for the case where all available
ide_hwifs structures are in use.

Signed-off-by: Jeremy Higdon <jeremy@sgi.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2005-12-15 02:10:35 +01:00
Linus Torvalds
9d149c27eb Merge master.kernel.org:/home/rmk/linux-2.6-mmc 2005-12-14 15:46:46 -08:00
Russell King
45f8245b97 [MMC] Explain the internals of mmc_power_up()
It seems that people get confused about what is happening in
mmc_power_up().  Add a comment to make it clear why we have
a two stage process.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-12-14 14:57:35 +00:00
Linus Torvalds
acd9b7b4e0 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/tg3-2.6 2005-12-13 23:08:24 -08:00
James Bottomley
c9526497cf [SCSI] Consolidate REQ_BLOCK_PC handling path (fix ipod panic)
This follows on from Jens' patch and consolidates all of the ULD
separate handlers for REQ_BLOCK_PC into a single call which has his
fix for our direction bug.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-12-13 21:29:27 -08:00
Adam Kropelin
cd6104572b [PATCH] hid-core: Zero-pad truncated reports
When it detects a truncated report, hid-core emits a warning and then
processes the report as usual.  This is good because it allows buggy
devices to still get data thru to userspace.  However, the missing bytes of
the report should be cleared before processing, otherwise userspace will be
handed partially-uninitialized data.

This fixes Debian tracker bug #330487.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Acked-by: Dmitry Torokhov <dtor_core@ameritech.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-13 21:18:16 -08:00
Ole Reinhardt
fb79ffa4dd [PATCH] fbdev: make pxafb more robust to errors with CONFIG_FB_PXA_PARAMETERS
pxafb.c runs into an oops if CONFIG_FB_PXA_PARAMETERS is enabled and no
parameters are set in command line.  The following patch avoids this
problem.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-13 21:18:16 -08:00
Michael Chan
6921d201f7 [TG3]: Fix low power state
Fix the following bugs in tg3_set_power_state():

1. Both WOL and ASF flags require switching to aux power.

2. Add a missing handshake with firmware to enable WOL.

3. Turn off the PHY if both WOL and ASF are disabled.

4. Add nvram arbitration before halting the firmware.

5. Fix tg3_setup_copper_phy() to switch to 100Mbps when
   changing to low power state.

Update revision and date.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:15:53 -08:00
Michael Chan
16fe9d74f1 [TG3]: Fix 5704 single-port mode
If the dual-port 5704 is configured as a single-port device with
only one PCI function, it would trigger a BUG() condition in
tg3_find_5704_peer(). This fixes the problem by returning its
own pdev if the peer cannot be found.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:09:54 -08:00
Michael Chan
6a9eba15f5 [TG3]: Fix suspend and resume
Fix tg3_suspend() and tg3_resume() by clearing and setting the
TG3_FLAG_INIT_COMPLETE flag when appropriate. tg3_set_power_state()
looks at TG3_FLAG_INIT_COMPLETE on the peer device to determine
when to appropriately switch to aux power.  

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:08:58 -08:00
Michael Chan
381291b7d3 [TG3]: Fix nvram arbitration bugs.
The nvram arbitration rules were not strictly followed in a few places
and this could lead to reading corrupted values from the nvram.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:08:21 -08:00
Matthew Wilcox
322e079f1b [SCSI] Negotiate correctly with async-only devices
When we got a device only capable of async, we would zero out goal->period
which would cause us to try PPR negotiations.  Leave goal->period alone,
and check goal->offset before doing PPR.  Kudos to Daniel Forsgren for
figuring this out.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-12-13 17:27:10 -07:00
Linus Torvalds
90ac8f7741 Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2005-12-13 08:53:56 -08:00
Jeff Garzik
98684a9d91 [netdrvr skge] fix build 2005-12-13 11:35:22 -05:00
Jeff Garzik
50630195bb [libata] mark certain hardware (or drivers) with a no-atapi flag
Some hardware does not support the PACKET command at all.
Other hardware supports ATAPI, but the driver does something nasty such
as calling BUG() when an ATAPI command is issued.

For these such cases, we mark them with a new flag, ATA_FLAG_NO_ATAPI.

Initial version contributed by Ben Collins.
2005-12-13 02:29:45 -05:00
Antonino A. Daplas
be0d9b6c7a [PATCH] fbdev: Fix incorrect unaligned access in little-endian machines
The drawing function cfbfillrect does not work correctly when access is not
unsigned-long aligned.  It manifests as extra lines of pixels that are not
complete drawn.  Reversing the shift operator solves the problem, so I would
presume that this bug would manifest only on little endian machines.  The
function cfbcopyarea may also have this bug.

Aligned access should present no problems.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:17 -08:00
Antonino A. Daplas
7275b4b6bc [PATCH] fbdev: Shift pixel value before entering loop in cfbimageblit
In slow imageblit, the pixel value is shifted by a certain amount (dependent
on the bpp and endianness) for each iteration.  This is inefficient.  Better
do the shifting once before going into the loop.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:17 -08:00
Knut Petersen
39942fd8ff [PATCH] fbdev: fix switch to KD_TEXT, enhanced version
Every framebuffer driver relies on the assumption that the set_par()
function of the driver is called before drawing functions and other
functions dependent on the hardware state are executed.

Whenever you switch from X to a framebuffer console for the very first
time, there is a chance that a broken X system has _not_ set the mode to
KD_GRAPHICS, thus the vt and framebuffer code executes a screen redraw and
several other functions before a set_par() is executed.  This is believed
to be not a bug of linux but a bug of X/xdm.  At least some X releases used
by SuSE and Debian show this behaviour.

There was a 2nd case, but that has been fixed by Antonino Daplas on
10-dec-2005.

This patch allows drivers to set a flag to inform fbcon_switch() that they
prefer a set_par() call on every console switch, working around the
problems caused by the broken X releases.

The flag will be used by the next release of cyblafb and might help other
drivers that assume a hardware state different to the one used by X.

As the default behaviour does not change, this patch should be acceptable
to everybody.

Signed-off-by: Knut Petersen <Knut_Petersen@t-online.de>
Acked-by: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:17 -08:00
Antonino A. Daplas
4e1567d3aa [PATCH] fbcon: Avoid illegal display panning
Avoid calls to fb_pan_display when driver is suspended or not in text mode.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:17 -08:00
Antonino A. Daplas
1207069f6f [PATCH] fbdev: Pan display fixes
- Fix fb_pan_display rejecting yoffsets that are valid if panning mode
  is ywrap.

- Add more robust error checking in fb_pan_display specially since this
  function is accessible by userland apps.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:17 -08:00
Antonino A. Daplas
4743484718 [PATCH] fbcon: Add ability to save/restore graphics state
Add hooks to save and restore the graphics state.  These hooks are called in
fbcon_blank() when entering/leaving KD_GRAPHICS mode.  This is needed by
savagefb at least so it can cooperate with savage_dri and by cyblafb.

State save/restoration can be full or partial.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:17 -08:00
Antonino A. Daplas
56f0d64de8 [PATCH] fbcon: fix complement_mask() with 512 character map
There is a bug in the complement_mask when you have a 512-character map.
Linux boots to a default 256-character map and most probably your login
profile is loading a 512-character map which results in a bad gpm cursor.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:17 -08:00
Mike Miller
2f6331faf5 [PATCH] cciss: fix for deregister_disk
This patch adds setting our drv->queue = NULL back in deregister_disk.  The
drv->queue is part of our controller struct.  blk_cleanup_queue works only
on the queue in the gendisk struct.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 22:31:16 -08:00
Linus Torvalds
7cd082f014 Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-12-12 21:42:17 -08:00
Linus Torvalds
b11d0e48aa Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2005-12-12 21:41:58 -08:00
Dave Airlie
47807ce381 [drm] fix radeon aperture issue
Ben noticed that on certain cards we've landed the AGP space on top of
the second aperture instead of after it..  Which messes things up a lot
on those machines.

This just moves the gart further out, a more correct fix is in the works
from Ben for after 2.6.15.

Signed-off-by: Dave Airlie <airlied@linux.ie>
CC: Ben Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 21:02:22 -08:00
Stephen Hemminger
ee1c81917a [PATCH] skge: get rid of warning on race
Get rid of warning in case of race with ring full and lockless
tx on the skge driver. It is possible to be in the transmit
routine with no available slots and already stopped.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 23:33:03 -05:00
Mark Lord
dfa159886f [PATCH] libata-core.c: fix parameter bug on kunmap_atomic() calls
Fix incorrect pointer usage on two calls to kunmap_atomic().
This seems to happen a lot, because kunmap() wants the struct page *,
whereas kunmap_atomic() instead wants the mapped virtual address.

Signed-off-by: Mark Lord <liml@rtr.ca>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 23:19:28 -05:00
Linus Torvalds
238523e1a1 Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-12-12 16:41:37 -08:00
Linus Torvalds
94d40b699f Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2005-12-12 15:49:27 -08:00
Linus Torvalds
062dfa433c Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-12-12 15:25:58 -08:00
Linus Torvalds
7c9dfb5999 Merge master.kernel.org:/home/rmk/linux-2.6-mmc 2005-12-12 15:25:15 -08:00
Linus Torvalds
1ff9ba7af6 Merge master.kernel.org:/home/rmk/linux-2.6-serial 2005-12-12 15:24:36 -08:00
Hareesh Nagarajan
2c27d4e530 [SBUSFB] tcx: Use FB_BLANK_UNBLANK instead of magic constant.
From: Hareesh Nagarajan <hnagar2@gmail.com>

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-12 14:42:07 -08:00
David S. Miller
806f7bf605 [SBUSFB]: Kill 'list' member from foo_par structs, totally unused.
Based upon a patch from Hareesh Nagarajan.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-12 14:41:20 -08:00
Brian King
66e0522526 [PATCH] Fix SCSI scanning slab corruption
There is a double free in the scsi scan code if a LLDD's slave_alloc()
call fails.  There is a direct call to scsi_free_queue and then the
following put_device calls the release function, which also frees the
queue.

Remove the redundant scsi_free_queue.

Signed-off-by: Brian King <brking@us.ibm.com>
Tested-by: Nathan Lynch <ntl@pobox.com>
[ Also removed some strange whitespace artifacts in that area ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 12:35:39 -08:00
Olaf Hering
016cc85072 [PATCH] pcnet32: use MAC address from prom also on powerpc
The CSR contains garbage after a coldboot on RS/6000.
One some systems (like my 44p 270) the MAC address is all FF,
on others (like my B50) it is ff:ff:ff:fd:ff:6b.

It can eventually be fixed by loading pcnet32, set the interface
into the UP state, rmmod pcnet32 and load it again. But this worked
only on the 270.

Only netbooting after a cold start provides the correct MAC address
via prom and CSR. This makes it very unreliable.
I dont know why the MAC is stored in two different places. Remove
the special case for powerpc, which was added in early 2.4 development.

Signed-off-by: Olaf Hering <olh@suse.de>

 drivers/net/pcnet32.c |    5 -----
 1 files changed, 5 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:30:38 -05:00
Jeff Garzik
20234989a8 Merge branch 'master' 2005-12-12 15:30:15 -05:00
Brian King
1a68de5c08 [SCSI] fix double free of scsi request queue
Current scsi scanning code appears to have a use after free
bug is a LLDD's slave_alloc fails. Remove the redundant
scsi_free_queue.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-12-12 14:27:05 -06:00
Linus Torvalds
49d7bc6428 Revert revert of "[SCSI] fix usb storage oops"
This reverts commit 1b0997f561, which in
turn reverted 34ea80ec6a (which is thus
re-instated).

Quoth James Bottomley:

  "All it's doing is deferring the device_put() from the
   scsi_put_command() to after the scsi_run_queue(), which doesn't fix
   the sleep while atomic problem of the device release method.  In both
   cases we still get the semaphore in atomic context problem which is
   caused by scsi_reap_target() doing a device_del(), which I assumed
   (wrongly) was valid from atomic context."

who also promised to fix scsi_reap_target().

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 11:25:04 -08:00