sfrench/cifs-2.6.git
14 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Fri, 29 Dec 2006 18:07:18 +0000 (10:07 -0800)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] cio: fix stsch_reset.
  [S390] Change max. buffer size for monwriter device.

14 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Fri, 29 Dec 2006 18:06:41 +0000 (10:06 -0800)]
Merge branch 'master' of /linux/kernel/git/mchehab/v4l-dvb

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (28 commits)
  V4L/DVB (5010): Cx88: Fix leadtek_eeprom tagging
  V4L/DVB (5012): Usbvision fix: It was using "&&" instead "&"
  V4L/DVB (5001): Add two required headers on kernel 2.6.20-rc1
  V4L/DVB (5014): Allyesconfig build fixes on some non x86 arch
  V4L/DVB (4997): Bttv: delete duplicated ioremap()
  V4L/DVB (4996): Msp3400: fix kthread_run error check
  V4L/DVB (4995): Vivi: fix kthread_run() error check
  V4L/DVB (4994): Vivi: fix use after free in list_for_each()
  V4L/DVB (4992): Fix typo in saa7134-dvb.c
  V4L/DVB (4991): Cafe_ccic.c: fix NULL dereference
  V4L/DVB (4990): Cpia2/cpia2_usb.c: fix error-path leak
  V4L/DVB (4988): Cx2341x audio_properties is an u16, not u8
  V4L/DVB (4984): LOG_STATUS should show the real temporal filter value.
  V4L/DVB (4983): Force temporal filter to 0 when scaling to prevent ghosting.
  V4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400.
  V4L/DVB (4980): Fixes bug 7267: PAL/60 is not working
  V4L/DVB (4979): Fixes compilation when CONFIG_V4L1_COMPAT is not selected
  V4L/DVB (4973): Dvb-core: fix printk type warning
  V4L/DVB (4972): Dvb-core: fix bug in CRC-32 checking on 64-bit systems
  V4L/DVB (4970): Usbvision memory fixes
  ...

14 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 29 Dec 2006 18:03:54 +0000 (10:03 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (42 commits)
  r8169: extraneous Cmd{Tx/Rx}Enb write
  forcedeth: modified comment header
  NetXen: Reducing ring sizes for IOMMU issue.
  NetXen: Fix for PPC machines.
  NetXen: work queue fixes.
  NetXen: Link status message correction for quad port cards.
  NetXen: Multiple adapter fix.
  NetXen: Using correct CHECKSUM flag.
  NetXen: driver reload fix for newer firmware.
  NetXen: Adding new device ids.
  PHY probe not working properly for ibm_emac (PPC4xx)
  ep93xx: some minor cleanups to the ep93xx eth driver
  sky2: phy power down needs PCI config write enabled
  sky2: power management/MSI workaround
  sky2: dual port NAPI problem
  via-velocity uses INET interfaces
  e1000: Do not truncate TSO TCP header with 82544 workaround
  myri10ge: handle failures in suspend and resume
  myri10ge: no need to save MSI and PCIe state in the driver
  myri10ge: make msi configurable at runtime through sysfs
  ...

14 years agoMerge branch 'netxen-ioctl' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 29 Dec 2006 18:03:29 +0000 (10:03 -0800)]
Merge branch 'netxen-ioctl' of /linux/kernel/git/jgarzik/netdev-2.6

* 'netxen-ioctl' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  netxen: remove private ioctl

14 years agoVM: Fix nasty and subtle race in shared mmap'ed page writeback
Linus Torvalds [Fri, 29 Dec 2006 18:00:58 +0000 (10:00 -0800)]
VM: Fix nasty and subtle race in shared mmap'ed page writeback

The VM layer (on the face of it, fairly reasonably) expected that when
it does a ->writepage() call to the filesystem, it would write out the
full page at that point in time.  Especially since it had earlier marked
the whole page dirty with "set_page_dirty()".

But that isn't actually the case: ->writepage() does not actually write
a page, it writes the parts of the page that have been explicitly marked
dirty before, *and* that had not got written out for other reasons since
the last time we told it they were dirty.

That last caveat is the important one.

Which _most_ of the time ends up being the whole page (since we had
called "set_page_dirty()" on the page earlier), but if the filesystem
had done any dirty flushing of its own (for example, to honor some
internal write ordering guarantees), it might end up doing only a
partial page IO (or none at all) when ->writepage() is actually called.

That is the correct thing in general (since we actually often _want_
only the known-dirty parts of the page to be written out), but the
shared dirty page handling had implicitly forgotten about these details,
and had a number of cases where it was doing just the "->writepage()"
part, without telling the low-level filesystem that the whole page might
have been re-dirtied as part of being mapped writably into user space.

Since most of the time the FS did actually write out the full page, we
didn't notice this for a loong time, and this needed some really odd
patterns to trigger.  But it caused occasional corruption with rtorrent
and with the Debian "apt" database, because both use shared mmaps to
update the end result.

This fixes it. Finally. After way too much hair-pulling.

Acked-by: Nick Piggin <nickpiggin@yahoo.com.au>
Acked-by: Martin J. Bligh <mbligh@google.com>
Acked-by: Martin Michlmayr <tbm@cyrius.com>
Acked-by: Martin Johansson <martin@fatbob.nu>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Andrei Popa <andrei.popa@i-neo.ro>
Cc: High Dickins <hugh@veritas.com>
Cc: Andrew Morton <akpm@osdl.org>,
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Segher Boessenkool <segher@kernel.crashing.org>
Cc: David Miller <davem@davemloft.net>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Gordon Farquharson <gordonfarquharson@gmail.com>
Cc: Guillaume Chazarain <guichaz@yahoo.fr>
Cc: Theodore Tso <tytso@mit.edu>
Cc: Kenneth Cheng <kenneth.w.chen@intel.com>
Cc: Tobias Diedrich <ranma@tdiedrich.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years ago[S390] cio: fix stsch_reset.
Michael Holzheu [Wed, 27 Dec 2006 23:35:36 +0000 (00:35 +0100)]
[S390] cio: fix stsch_reset.

Copy inline assembly of stsch and add "memory" to clobber list in order
to prevent gcc from optimizing away the checking of the global variable
"pgm_check_occured".

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years ago[S390] Change max. buffer size for monwriter device.
Melissa Howland [Wed, 27 Dec 2006 23:35:25 +0000 (00:35 +0100)]
[S390] Change max. buffer size for monwriter device.

Reduce the max. buffer size for the monwriter device to prevent a
possible problem with the z/VM monitor service.

Signed-off-by: Melissa Howland <melissah@us.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 years agoV4L/DVB (5010): Cx88: Fix leadtek_eeprom tagging
Jean Delvare [Sat, 23 Dec 2006 17:11:03 +0000 (14:11 -0300)]
V4L/DVB (5010): Cx88: Fix leadtek_eeprom tagging

reference to .init.text: from .text between 'cx88_card_setup'
(at offset 0x68c) and 'cx88_risc_field'
Caused by leadtek_eeprom() being declared __devinit and called from
a non-devinit context.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (5012): Usbvision fix: It was using "&&" instead "&"
Alexey Dobriyan [Tue, 26 Dec 2006 10:43:25 +0000 (07:43 -0300)]
V4L/DVB (5012): Usbvision fix: It was using "&&" instead "&"

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (5001): Add two required headers on kernel 2.6.20-rc1
Mauro Carvalho Chehab [Wed, 27 Dec 2006 16:04:09 +0000 (14:04 -0200)]
V4L/DVB (5001): Add two required headers on kernel 2.6.20-rc1

include/media/ir-common.h:78: error: field 'work' has incomplete type
drivers/media/common/ir-functions.c: In function 'ir_rc5_timer_end':
drivers/media/common/ir-functions.c:301: error: 'jiffies' undeclared (first use in this function)
drivers/media/common/ir-functions.c:301: error: (Each undeclared identifier is reported only once)
drivers/media/common/ir-functions.c:301: error: for each function it appears in.)
drivers/media/common/ir-functions.c:347: error: 'HZ' undeclared (first use in this function)

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (5014): Allyesconfig build fixes on some non x86 arch
David Brownell [Wed, 27 Dec 2006 12:53:44 +0000 (09:53 -0300)]
V4L/DVB (5014): Allyesconfig build fixes on some non x86 arch

- CAFE_CCIC needs to depend on PCI, else "allyesconfig" breaks
   on systems without PCI
- em28xx-video can't udelay(2500) else "allyesconfig" breaks
   on systems that refuse to spin that long (I saw it on ARM)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4997): Bttv: delete duplicated ioremap()
Akinobu Mita [Wed, 20 Dec 2006 13:08:56 +0000 (10:08 -0300)]
V4L/DVB (4997): Bttv: delete duplicated ioremap()

ioremap() is called twice to same resource.
The returen value of first one is not error-checked.
second one is complely ignored.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4996): Msp3400: fix kthread_run error check
Akinobu Mita [Wed, 20 Dec 2006 13:07:30 +0000 (10:07 -0300)]
V4L/DVB (4996): Msp3400: fix kthread_run error check

The return value of kthread_run() should be checked by IS_ERR().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4995): Vivi: fix kthread_run() error check
Akinobu Mita [Wed, 20 Dec 2006 13:04:00 +0000 (10:04 -0300)]
V4L/DVB (4995): Vivi: fix kthread_run() error check

The return value of kthread_run() should be checked by IS_ERR().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4994): Vivi: fix use after free in list_for_each()
Akinobu Mita [Wed, 20 Dec 2006 13:03:53 +0000 (10:03 -0300)]
V4L/DVB (4994): Vivi: fix use after free in list_for_each()

Freeing data including list_head in list_for_each() is not safe.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4992): Fix typo in saa7134-dvb.c
Stephan Berberig [Wed, 20 Dec 2006 12:37:05 +0000 (09:37 -0300)]
V4L/DVB (4992): Fix typo in saa7134-dvb.c

Fix a typo (use_frontent -> use_frontend) in saa7134-dvb.c.

Signed-off-by: Stephan Berberig <s.berberig@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4991): Cafe_ccic.c: fix NULL dereference
Adrian Bunk [Wed, 20 Dec 2006 12:34:32 +0000 (09:34 -0300)]
V4L/DVB (4991): Cafe_ccic.c: fix NULL dereference

We shouldn't dereference "cam" when we already know it's NULL.
Spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4990): Cpia2/cpia2_usb.c: fix error-path leak
Amit Choudhary [Wed, 20 Dec 2006 12:30:45 +0000 (09:30 -0300)]
V4L/DVB (4990): Cpia2/cpia2_usb.c: fix error-path leak

Free previously allocated memory (in array elements) if kmalloc() returns
NULL in submit_urbs().

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4988): Cx2341x audio_properties is an u16, not u8
Hans Verkuil [Wed, 20 Dec 2006 09:51:37 +0000 (06:51 -0300)]
V4L/DVB (4988): Cx2341x audio_properties is an u16, not u8

This bug broke the MPEG audio mode controls.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4984): LOG_STATUS should show the real temporal filter value.
Hans Verkuil [Mon, 18 Dec 2006 16:40:23 +0000 (13:40 -0300)]
V4L/DVB (4984): LOG_STATUS should show the real temporal filter value.

The temporal filter is forced off when scaling. The VIDIOC_LOG_STATUS
handler still showed the old temporal filter. It is now consistent with
the real temporal filter value.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4983): Force temporal filter to 0 when scaling to prevent ghosting.
Hans Verkuil [Mon, 18 Dec 2006 16:37:50 +0000 (13:37 -0300)]
V4L/DVB (4983): Force temporal filter to 0 when scaling to prevent ghosting.

Change the code to unconditionally turn off the temporal filter when scaling.
If the window is not full screen the filter will introduce a nasty ghosting
effect.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400.
Hans Verkuil [Mon, 18 Dec 2006 16:18:28 +0000 (13:18 -0300)]
V4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400.

The wrong matrix was used when an external input was selected instead of
the tuner input. The rxsubchans field was also not initialized to STEREO
for an external input. And finally the msp34xxg_detect_stereo() should
not try to detect stereo for an external input, that code is for the
tuner input only.
Together these bugs made it hit 'n miss whether you ever got stereo out
of the msp3400 for an external input.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4980): Fixes bug 7267: PAL/60 is not working
Mauro Carvalho Chehab [Mon, 18 Dec 2006 02:30:47 +0000 (23:30 -0300)]
V4L/DVB (4980): Fixes bug 7267: PAL/60 is not working

On cx88 driver, sampling rate should be at chroma subcarrier freq (FSC).
However, driver were programming wrong values for PAL/60, PAL/Nc and
NTSC 4.43. This patch do the proper calculation. It also calculates
htotal, hdelay and hactive constants, according with the sampling
rate.
It is tested with PAL/60 by Piotr Maksymuk and Olivier. Also tested with
the already-supported standards.

Test is still required for PAL/Nc.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4979): Fixes compilation when CONFIG_V4L1_COMPAT is not selected
Dwaine Garden [Wed, 27 Dec 2006 12:23:28 +0000 (10:23 -0200)]
V4L/DVB (4979): Fixes compilation when CONFIG_V4L1_COMPAT is not selected

- SYSFS: Replaced all to_video_device(cd), video_device_create_file,
  video_device_remove_file and add the proper checks at create_file
- Converted old norm values to V4L2 ones.
- Robustness on sysfs hue/contrast/saturation queries.
  Additional check in order to return 0 if the driver is not opened.
- Whitespace cleanups in usbvision-cards.c

This patch merges two fixes by Thierry MERLE and Mauro Chehab, and adds
additional checks.

Signed-off-by: Dwaine Garden<DwaineGarden@rogers.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4973): Dvb-core: fix printk type warning
Michael Krufky [Thu, 14 Dec 2006 16:53:33 +0000 (13:53 -0300)]
V4L/DVB (4973): Dvb-core: fix printk type warning

dvb_net.c: In function 'dvb_net_ule':
dvb_net.c:628: warning: format '%#lx' expects type 'long unsigned int', but argument 3 has type 'u32'
dvb_net.c:628: warning: format '%#lx' expects type 'long unsigned int', but argument 4 has type 'u32'

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4972): Dvb-core: fix bug in CRC-32 checking on 64-bit systems
Ang Way Chuang [Thu, 14 Dec 2006 16:51:44 +0000 (13:51 -0300)]
V4L/DVB (4972): Dvb-core: fix bug in CRC-32 checking on 64-bit systems

CRC-32 checking during ULE decapsulation always failed on x86_64 systems due
to the size of a variable used to store CRC. This bug was discovered on
Fedora Core 6 with kernel-2.6.18-1.2849. The i386 counterpart has no such
problem. This patch has been tested on 64-bit system as well as 32-bit system.

Signed-off-by: Ang Way Chuang <wcang@nrg.cs.usm.my>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4970): Usbvision memory fixes
Thierry MERLE [Fri, 15 Dec 2006 19:46:53 +0000 (16:46 -0300)]
V4L/DVB (4970): Usbvision memory fixes

- fix decompression buffer allocation not done at first driver open
- simplification of USB sbuf allocation (use of usb_buffer_alloc)
- replaced vmalloc by vmalloc_32 (for homogeneity)
- add of saa7111 (i2cAddr=0x48) detection printout in attach_inform

Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4968): Add PAL-60 support for cx2584x.
Hans Verkuil [Tue, 12 Dec 2006 19:27:28 +0000 (16:27 -0300)]
V4L/DVB (4968): Add PAL-60 support for cx2584x.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4967): Add missing tuner module option pal=60 for PAL-60 support.
Hans Verkuil [Mon, 11 Dec 2006 18:51:43 +0000 (15:51 -0300)]
V4L/DVB (4967): Add missing tuner module option pal=60 for PAL-60 support.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4964): VIDEO_PALETTE_YUYV and VIDEO_PALETTE_YUV422 are the same palette
audetto@tiscali.it [Tue, 12 Dec 2006 13:35:57 +0000 (10:35 -0300)]
V4L/DVB (4964): VIDEO_PALETTE_YUYV and VIDEO_PALETTE_YUV422 are the same palette

Consistent handling of VIDEO_PALETTE_YUYV and VIDEO_PALETTE_YUV422

Signed-off-by: Andrea A Odetti <audetto@tiscali.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4960): Removal of unused code from usbvision-i2c.c
Mauro Carvalho Chehab [Mon, 11 Dec 2006 20:18:15 +0000 (17:18 -0300)]
V4L/DVB (4960): Removal of unused code from usbvision-i2c.c

i2c_adap is almost not used. This patch removes it, cleaning the i2c support,
and improving driver understanding.
Thanks to Thierry Merle for testing it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4959): Usbvision: possible cleanups
Adrian Bunk [Mon, 11 Dec 2006 18:51:36 +0000 (15:51 -0300)]
V4L/DVB (4959): Usbvision: possible cleanups

This patch contains the following possible cleanups:
- make needlessly global functions static
- remove the unused EXPORT_SYMBOL's

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4958): Fix namespace conflict between w9968cf.c on MIPS
Ralf Baechle [Mon, 11 Dec 2006 14:14:54 +0000 (11:14 -0300)]
V4L/DVB (4958): Fix namespace conflict between w9968cf.c on MIPS

Both use __SC.  Since __* is sort of private namespace I've choosen to fix
this in the driver.  For consistency I decieded to also change __UNSC to
UNSC.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4956): [NOVA-T-USB2] Put remote-debugging in the right place
Mario Rossi [Mon, 11 Dec 2006 08:42:36 +0000 (05:42 -0300)]
V4L/DVB (4956): [NOVA-T-USB2] Put remote-debugging in the right place

This patch removes unnecessary (and misleading) debug
output (it printed the values of the keys in the table up to the value
of the key pressed).

Signed-off-by: Mario Rossi <mariofutire@googlemail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agoV4L/DVB (4955): Fix autosearch index
Mario Rossi [Mon, 11 Dec 2006 08:37:31 +0000 (05:37 -0300)]
V4L/DVB (4955): Fix autosearch index

After rewriting the driver the wrong autosearch index was used when
COFDM-parameter needed to be detected.
Thanks to Mario Rossi who found it.

Signed-off-by: Mario Rossi <mariofutire@googlemail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
14 years agor8169: extraneous Cmd{Tx/Rx}Enb write
Francois Romieu [Sun, 17 Dec 2006 23:00:55 +0000 (00:00 +0100)]
r8169: extraneous Cmd{Tx/Rx}Enb write

Checked in Realtek's driver, this one has no business being there.
The driver still works but there is a noticeable performance drop.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
14 years agoforcedeth: modified comment header
Ayaz Abdulla [Wed, 20 Dec 2006 04:33:32 +0000 (23:33 -0500)]
forcedeth: modified comment header

This patch removes comment that forcedeth is not supported by NVIDIA.

Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: Reducing ring sizes for IOMMU issue.
Amit S. Kale [Mon, 18 Dec 2006 13:54:36 +0000 (05:54 -0800)]
NetXen: Reducing ring sizes for IOMMU issue.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
 netxen_nic.h |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: Fix for PPC machines.
Amit S. Kale [Mon, 18 Dec 2006 13:53:59 +0000 (05:53 -0800)]
NetXen: Fix for PPC machines.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
 netxen_nic.h      |    2 +-
 netxen_nic_init.c |   12 ++++++------
 netxen_nic_main.c |    4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: work queue fixes.
Amit S. Kale [Mon, 18 Dec 2006 13:53:36 +0000 (05:53 -0800)]
NetXen: work queue fixes.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
 netxen_nic.h      |    3 +--
 netxen_nic_init.c |    2 +-
 netxen_nic_main.c |   15 +++++++--------
 3 files changed, 9 insertions(+), 11 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: Link status message correction for quad port cards.
Amit S. Kale [Mon, 18 Dec 2006 13:53:12 +0000 (05:53 -0800)]
NetXen: Link status message correction for quad port cards.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
 netxen_nic_isr.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: Multiple adapter fix.
Amit S. Kale [Mon, 18 Dec 2006 13:52:39 +0000 (05:52 -0800)]
NetXen: Multiple adapter fix.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
 netxen_nic.h      |    3 +--
 netxen_nic_main.c |   12 ------------
 2 files changed, 1 insertion(+), 14 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: Using correct CHECKSUM flag.
Amit S. Kale [Mon, 18 Dec 2006 13:51:58 +0000 (05:51 -0800)]
NetXen: Using correct CHECKSUM flag.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
netxen_nic_hw.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: driver reload fix for newer firmware.
Amit S. Kale [Mon, 18 Dec 2006 13:51:29 +0000 (05:51 -0800)]
NetXen: driver reload fix for newer firmware.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
netxen_nic_main.c |    7 +++++++
 1 files changed, 7 insertions(+)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoNetXen: Adding new device ids.
Amit S. Kale [Mon, 18 Dec 2006 13:50:59 +0000 (05:50 -0800)]
NetXen: Adding new device ids.

Signed-off-by: Amit S. Kale <amitkale@netxen.com>
netxen_nic_main.c |    2 ++
 1 files changed, 2 insertions(+)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoPHY probe not working properly for ibm_emac (PPC4xx)
Hynek Petrak [Tue, 19 Dec 2006 21:08:49 +0000 (13:08 -0800)]
PHY probe not working properly for ibm_emac (PPC4xx)

I have a system with AMCC PowerPC 405EP and PHY Intel LXT971A.  Linux
2.6.18.3 is not able to detect the PHY ID correctly.  The PHY ID
detected is 0, but should be 0x1d.

This is because phy_read() (__emac_mdio_read() resp.) from
drivers/net/ibm_emac/ibm_emac_core.c might return -ETIMEDOUT or
-EREMOTEIO on error.  This is ignored inside the

int mii_phy_probe(struct mii_phy *phy, int address)
from drivers/net/ibm_emac/ibm_emac_phy.c

as the return value is assigned to an u32 variable.

Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoep93xx: some minor cleanups to the ep93xx eth driver
Yan Burman [Tue, 19 Dec 2006 21:08:48 +0000 (13:08 -0800)]
ep93xx: some minor cleanups to the ep93xx eth driver

Small cleanup in the Cirrus Logic EP93xx ethernet driver: Check for NULL
pointer before dereferencing it instead of after.  Remove unreferenced
variable.

Signed-off-by: Yan Burman <burman.yan@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoMerge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
Jeff Garzik [Tue, 26 Dec 2006 21:38:31 +0000 (16:38 -0500)]
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes

14 years agosky2: phy power down needs PCI config write enabled
Stephen Hemminger [Wed, 20 Dec 2006 21:06:35 +0000 (13:06 -0800)]
sky2: phy power down needs PCI config write enabled

In order to change PCI registers (via the iomap'd window),
it needs to be enabled; this wasn't being done in sky2_phy_power
the function that turns on/off power to the PHY.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agosky2: power management/MSI workaround
Stephen Hemminger [Wed, 20 Dec 2006 21:06:34 +0000 (13:06 -0800)]
sky2: power management/MSI workaround

MSI doesn't work properly on resume on many platforms because the
BIOS goes and changes it back to INTx mode after the sky2 driver has
restored in resume.

It is really a bug in the base power management resume code, and
this workaround is temporary until the change to PM code works it's way
through the release process.  The PM fix is non-trivial since it needs
to change when non-boot CPU's are enabled.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agosky2: dual port NAPI problem
Stephen Hemminger [Wed, 20 Dec 2006 21:06:33 +0000 (13:06 -0800)]
sky2: dual port NAPI problem

Shutting down port 0 disables the NAPI poll used by both ports.
The long term fix will be to separate NAPI object from net device
until then just reenable if needed.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agovia-velocity uses INET interfaces
Randy Dunlap [Tue, 19 Dec 2006 05:21:10 +0000 (21:21 -0800)]
via-velocity uses INET interfaces

via-velocity doesn't build when CONFIG_INET=n:

drivers/built-in.o: In function `velocity_unregister_notifier':
via-velocity.c:(.text+0xe9b46): undefined reference to `unregister_inetaddr_notifier'
drivers/built-in.o: In function `velocity_init_module':
via-velocity.c:(.init.text+0xa027): undefined reference to `register_inetaddr_notifier'

I wanted to make this change in drivers/net/Kconfig, but
this isn't legal kconfig language:

 config VIA_VELOCITY
        tristate "VIA Velocity support"
        depends on NET_PCI && PCI
+       depends on INET if PM
        select CRC32
        select CRC_CCITT
        select MII

so fix it in via-velocity.c instead.
Builds with all 4 combinations of CONFIG_NET & CONFIG_PM.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoe1000: Do not truncate TSO TCP header with 82544 workaround
Herbert Xu [Sat, 16 Dec 2006 01:04:33 +0000 (12:04 +1100)]
e1000: Do not truncate TSO TCP header with 82544 workaround

The e1000 driver has a workaround for 82544 on PCI-X where if the
terminating byte of a buffer is at addresses 0-3 mod 8, then 4 bytes
are shaved off it and defered to a new segment.  This is due to an
erratum that could otherwise cause TX hangs.

Unfortunately this breaks TSO because it may cause the TCP header to
be split over two segments which itself causes TX hangs.  The solution
is to pull 4 bytes of data up from the next segment rather than pushing
4 bytes off.  This ensures the TCP header remains in one piece and
works around the PCI-X hang.

This patch is based on one from Jesse Brandeburg.

This bug has been trigered by both CONFIG_DEBUG_SLAB as well as Xen.

Note that the only reason we don't see this normally is because the
TCP stack starts writing from the end, i.e., it writes the TCP header
first then slaps on the IP header, etc.  So the end of the TCP header
(skb->tail - 1 here) is always aligned correctly.

Had we made the start of the IP header (e.g., IPv6) 8-byte aligned
instead, this would happen for normal TCP traffic as well.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agomyri10ge: handle failures in suspend and resume
Brice Goglin [Mon, 18 Dec 2006 10:52:34 +0000 (11:52 +0100)]
myri10ge: handle failures in suspend and resume

On suspend, handle pci_set_power_state errors, and on resume
handle failures in pci_resume_state().

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agomyri10ge: no need to save MSI and PCIe state in the driver
Brice Goglin [Mon, 18 Dec 2006 10:52:02 +0000 (11:52 +0100)]
myri10ge: no need to save MSI and PCIe state in the driver

The PCI MSI and express state are already saved and restored by the
current versions of pci_save_state/pci_restore_state.
Therefore it is no longer necessary for the driver to do it.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agomyri10ge: make msi configurable at runtime through sysfs
Brice Goglin [Mon, 18 Dec 2006 10:51:22 +0000 (11:51 +0100)]
myri10ge: make msi configurable at runtime through sysfs

Now that IRQ are requested is called on open() and freed on close(),
we can safely switch from/to MSI without unloading the module.

We are guaranteed to correctly free IRQ even if the sysfs file got
written in the meantime since the MSI initialization is stored in
mgp->msi_enabled.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agomyri10ge: move request_irq to myri10ge_open
Brice Goglin [Mon, 18 Dec 2006 10:50:40 +0000 (11:50 +0100)]
myri10ge: move request_irq to myri10ge_open

Request IRQ in myri10ge_open() and free in close() instead of probe()
and remove() to eliminate potential race between the watchdog and the
interrupt handler. Additionaly, the interrupt handler won't get called
on shared irq anymore when the interface is down.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agomyri10ge: match number of save_state and restore
Brice Goglin [Mon, 18 Dec 2006 10:50:00 +0000 (11:50 +0100)]
myri10ge: match number of save_state and restore

Since pci_save_state() pushes MSI and PCIe states on a kind of stack,
myri10ge saving the state in advance for parity recovery will push the
state again on the stack on suspend. This leads to some memory leak.
We add a couple additional calls to save_state and restore_state so
that we don't leak anymore.

For the future, we are thinking of a better way to recover from parity
error without using pci_save_state().

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agor8169: use the broken_parity_status field in pci_dev
Francois Romieu [Sun, 17 Dec 2006 23:04:19 +0000 (00:04 +0100)]
r8169: use the broken_parity_status field in pci_dev

The former option is removed and platform code can now specify the
expected behavior.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agonetpoll: drivers must not enable IRQ unconditionally in their NAPI handler
Francois Romieu [Sun, 17 Dec 2006 22:03:15 +0000 (23:03 +0100)]
netpoll: drivers must not enable IRQ unconditionally in their NAPI handler

net/core/netpoll.c::netpoll_send_skb() calls the poll handler when
it is available. As netconsole can be used from almost any context,
IRQ must not be enabled blindly in the NAPI handler of a driver which
supports netpoll.

b57bd06655a028aba7b92e1c19c2093e7fcfb341 fixed the issue for the
8139too.c driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agonetxen: remove private ioctl
Stephen Hemminger [Fri, 15 Dec 2006 15:57:08 +0000 (07:57 -0800)]
netxen: remove private ioctl

The netxen driver includes a private ioctl that provides access
to functionality that is already available in other ways. The PCI
layer has application access hooks (see setpci), and the statistics
are available in ethtool/netstats.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: No-delay link detection at interface up
Jesse Brandeburg [Fri, 15 Dec 2006 09:42:34 +0000 (10:42 +0100)]
[PATCH] e1000: No-delay link detection at interface up

Currently after an interface up, the link state is detected 2 seconds later
when the first watchdog timer runs. This patch changes that by triggering
the hardware to generate a link-change interrupt from the up() function
instead. This has the result that the link state gets detected immediately
and without races. This has the potential to speed up booting since a normal
distribution boot process waits for a link before DHCP is attempted.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoe1000: 3 new driver stats for managability testing
Jeff Garzik [Fri, 15 Dec 2006 16:16:33 +0000 (11:16 -0500)]
e1000: 3 new driver stats for managability testing

Add 3 extra packet redirect counters for tracking purposes to make sure
we can test that all packets arrive properly.

Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>,
rewritten to use feature flags by me.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: Make the copybreak value a module parameter
Jesse Brandeburg [Fri, 15 Dec 2006 09:40:39 +0000 (10:40 +0100)]
[PATCH] e1000: Make the copybreak value a module parameter

Allow the user to vary the size that copybreak works. Currently cb is enabled
for packets < 256 bytes, but various tests indicate that this should be
configurable for specific use cases. In addition, this parameter allows us
to force never/always during testing to get full and predictable coverage of
both code paths.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: Fix PBA allocation calculations
Bruce Allan [Fri, 15 Dec 2006 09:39:45 +0000 (10:39 +0100)]
[PATCH] e1000: Fix PBA allocation calculations

Assign the PBA to be large enough to contain at least 2 jumbo frames on
all adapters. This dramatically increases performance on several adapters
and fixes TX performance degradation issues where the PBA was misallocated
in the old algorithm.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: narrow down the scope of the tipg timer tweak
Jesse Brandeburg [Fri, 15 Dec 2006 09:38:32 +0000 (10:38 +0100)]
[PATCH] e1000: narrow down the scope of the tipg timer tweak

the driver has (ancient) code for messing with TIPG from the 82542 days.
Unfortunately this code was running on our current adapters and setting
TIPG for fiber to be +1 over the copper value.  This caused 1.45Mpps
to be sent instead of 1.487Mpps.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: fix ethtool reported bus type for older adapters
Jeff Kirsher [Fri, 15 Dec 2006 09:37:32 +0000 (10:37 +0100)]
[PATCH] e1000: fix ethtool reported bus type for older adapters

For older adapters we know that they are of the PCI bus type, so we can
just set this.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: fix to set the new max frame size before resetting the adapter
Bruce Allan [Fri, 15 Dec 2006 09:36:35 +0000 (10:36 +0100)]
[PATCH] e1000: fix to set the new max frame size before resetting the adapter

This bugfix makes sure that the driver data reflects the full new situation
before the adapter is reinitialized.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoe1000: workaround for the ESB2 NIC RX unit issue
Jeff Garzik [Fri, 15 Dec 2006 16:06:17 +0000 (11:06 -0500)]
e1000: workaround for the ESB2 NIC RX unit issue

In rare occasions, ESB2 systems would end up started without the RX
unit being turned on. Add a check that runs post-init to work around
this issue.

Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>,
rewritten to use feature flags by me.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: disable TSO on the 82544 with slab debugging
Jesse Brandeburg [Fri, 15 Dec 2006 09:34:46 +0000 (10:34 +0100)]
[PATCH] e1000: disable TSO on the 82544 with slab debugging

CONFIG_DEBUG_SLAB changes alignments of the data structures the slab
allocators return. These break certain workarounds for TSO on the 82544.
Since DEBUG_SLAB is relatively rare and not used for performance sensitive
cases, the simplest fix is to disable TSO in this special situation.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: Fix Wake-on-Lan with forced gigabit speed
Jesse Brandeburg [Fri, 15 Dec 2006 09:33:46 +0000 (10:33 +0100)]
[PATCH] e1000: Fix Wake-on-Lan with forced gigabit speed

If the user has forced gigabit speed, phy power management must be disabled;
otherwise the NIC would try to negotiate to a linkspeed of 10/100 mbit on
shutdown, which would lead to a total loss of link. This loss of link breaks
Wake-on-Lan and IPMI.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoe1000: consolidate managability enabling/disabling
Jeff Garzik [Fri, 15 Dec 2006 15:56:10 +0000 (10:56 -0500)]
e1000: consolidate managability enabling/disabling

Several bugs existed in how we handle manageability issues all
over the driver.  This patch consolidates all the managability
release and init code in two single functions and call them from
appropriate locations. This fixes several BMC packet redirect issues
and powerup/down hiccups.

Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten
to use feature flags by me.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoe1000: omit stats for broken counter in 82543
Jeff Garzik [Fri, 15 Dec 2006 15:41:15 +0000 (10:41 -0500)]
e1000: omit stats for broken counter in 82543

The 82543 chip does not count tx_carrier_errors properly in FD mode;
report zeros instead of garbage.

Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten
to use feature flags by me.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoe1000: For sanity, reformat e1000_set_mac_type(), struct e1000_hw[_stats]
Jeff Garzik [Fri, 15 Dec 2006 15:31:40 +0000 (10:31 -0500)]
e1000: For sanity, reformat e1000_set_mac_type(), struct e1000_hw[_stats]

Makes future changes a bit more readable.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: dynamic itr: take TSO and jumbo into account
Jesse Brandeburg [Fri, 15 Dec 2006 09:30:44 +0000 (10:30 +0100)]
[PATCH] e1000: dynamic itr: take TSO and jumbo into account

The dynamic interrupt rate control patches omitted proper counting
for jumbo's and TSO resulting in suboptimal interrupt mitigation strategies.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years ago[PATCH] e1000: The user-supplied itr setting needs the lower 2 bits masked off
Jesse Brandeburg [Fri, 15 Dec 2006 09:29:31 +0000 (10:29 +0100)]
[PATCH] e1000: The user-supplied itr setting needs the lower 2 bits masked off

The lower 2 bits of a user-supplied itr setting (via ethtool) need to be
masked off: These lower two bits are used as control bits.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
14 years agoLinux 2.6.20-rc2 v2.6.20-rc2
Linus Torvalds [Sun, 24 Dec 2006 04:00:32 +0000 (20:00 -0800)]
Linux 2.6.20-rc2

14 years agoFix up CIFS for "test_clear_page_dirty()" removal
Linus Torvalds [Sun, 24 Dec 2006 00:19:07 +0000 (16:19 -0800)]
Fix up CIFS for "test_clear_page_dirty()" removal

This also adds he required page "writeback" flag handling, that cifs
hasn't been doing and that the page dirty flag changes made obvious.

Acked-by: Steve French <smfltc@us.ibm.com>
Acked-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years ago[PATCH] arch/i386/pci/mmconfig.c tlb flush fix
OGAWA Hirofumi [Sat, 23 Dec 2006 01:00:43 +0000 (10:00 +0900)]
[PATCH] arch/i386/pci/mmconfig.c tlb flush fix

We use the fixmap for accessing pci config space in pci_mmcfg_read/write().
The problem is in pci_exp_set_dev_base(). It is caching a last
accessed address to avoid calling set_fixmap_nocache() whenever
pci_mmcfg_read/write() is used.

  static inline void pci_exp_set_dev_base(int bus, int devfn)
  {
u32 dev_base = base | (bus << 20) | (devfn << 12);
if (dev_base != mmcfg_last_accessed_device) {
mmcfg_last_accessed_device = dev_base;
set_fixmap_nocache(FIX_PCIE_MCFG, dev_base);
}
  }

            cpu0                                        cpu1
  ---------------------------------------------------------------------------
    pci_mmcfg_read("device-A")
        pci_exp_set_dev_base()
            set_fixmap_nocache()
                                              pci_mmcfg_read("device-B")
                                                  pci_exp_set_dev_base()
                                                      set_fixmap_nocache()
    pci_mmcfg_read("device-B")
        pci_exp_set_dev_base()
            /* doesn't flush tlb */

But if cpus accessed the above order, the second pci_mmcfg_read() on
cpu0 doesn't flush the TLB, because "mmcfg_last_accessed_device" is
device-B.  So, second pci_mmcfg_read() on cpu0 accesses a device-A via
a previous TLB cache. This problem became the cause of several strange
behavior.

This patches fixes this situation by adds "mmcfg_last_accessed_cpu" check.

[ Alternatively, we could make a per-cpu mapping area or something. Not
  that it's probably worth it, but if we wanted to avoid all locking and
  instead just disable preemption, that would be the way to go. --Linus ]

Signed-off-by: OGAWA Hirofumi <hogawa@miraclelinux.com>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years ago[PATCH] suspend: fix suspend on single-CPU systems
Ingo Molnar [Sat, 23 Dec 2006 15:55:29 +0000 (16:55 +0100)]
[PATCH] suspend: fix suspend on single-CPU systems

Clark Williams reported that suspend doesnt work on his laptop on
2.6.20-rc1-rt kernels. The bug was introduced by the following cleanup
commit:

 commit 112cecb2cc0e7341db92281ba04b26c41bb8146d
 Author: Siddha, Suresh B <suresh.b.siddha@intel.com>
 Date:   Wed Dec 6 20:34:31 2006 -0800

    [PATCH] suspend: don't change cpus_allowed for task initiating the suspend

because with this change 'error' is not initialized to 0 anymore, if
there are no other online CPUs. (i.e. if the system is single-CPU).

the fix is the initialize it to 0. The really weird thing is that my
version of gcc does not warn about this non-initialized variable
situation ...

(also fix the kernel printk in the error branch, it was missing a
 newline)

Reported-by: Clark Williams <williams@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years agoFix reiserfs after "test_clear_page_dirty()" removal
Linus Torvalds [Sat, 23 Dec 2006 17:32:45 +0000 (09:32 -0800)]
Fix reiserfs after "test_clear_page_dirty()" removal

Thanks to Len Brown for testing this fix, since while they have in the
past, none of my machines run reiserfs at the moment.

Cc: Vladimir V. Saveliev <vs@namesys.com>
Acked-by: Len Brown <lenb@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years agoClean up and export cancel_dirty_page() to modules
Linus Torvalds [Sat, 23 Dec 2006 17:25:04 +0000 (09:25 -0800)]
Clean up and export cancel_dirty_page() to modules

Make cancel_dirty_page() act more like all the other dirty and writeback
accounting functions: test for "mapping" being NULL, and do the
NR_FILE_DIRY accounting purely based on mapping_cap_account_dirty()).

Also, add it to the exports, so that modular filesystems can use it.

Acked-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Sat, 23 Dec 2006 02:46:56 +0000 (18:46 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (68 commits)
  ACPI: replace kmalloc+memset with kzalloc
  ACPI: Add support for acpi_load_table/acpi_unload_table_id
  fbdev: update after backlight argument change
  ACPI: video: Add dev argument for backlight_device_register
  ACPI: Implement acpi_video_get_next_level()
  ACPI: Kconfig - depend on PM rather than selecting it
  ACPI: fix NULL check in drivers/acpi/osl.c
  ACPI: make drivers/acpi/ec.c:ec_ecdt static
  ACPI: prevent processor module from loading on failures
  ACPI: fix single linked list manipulation
  ACPI: ibm_acpi: allow clean removal
  ACPI: fix git automerge failure
  ACPI: ibm_acpi: respond to workqueue update
  ACPI: dock: add uevent to indicate change in device status
  ACPI: ec: Lindent once again
  ACPI: ec: Change #define to enums there possible.
  ACPI: ec: Style changes.
  ACPI: ec: Acquire Global Lock under EC mutex.
  ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead.
  ACPI: ec: Rename gpe_bit to gpe
  ...

14 years ago[PATCH] Call init_timer() for ISDN PPP CCP reset state timer
Marcel Holtmann [Thu, 21 Dec 2006 22:06:24 +0000 (23:06 +0100)]
[PATCH] Call init_timer() for ISDN PPP CCP reset state timer

The function isdn_ppp_ccp_reset_alloc_state() sets ->timer.function
and ->timer.data and later on calls add_timer() with no init_timer()
ever done.

Noted by Al Viro.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 22 Dec 2006 22:14:17 +0000 (14:14 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [UDP]: Fix reversed logic in udp_get_port().
  [IPV6]: Dumb typo in generic csum_ipv6_magic()
  [SCTP]: make 2 functions static
  [SCTP]: Fix typo adaption -> adaptation as per the latest API draft.
  [SCTP]: Don't export include/linux/sctp.h to userspace.
  [TCP]: Fix ambiguity in the `before' relation.
  [ATM] drivers/atm/fore200e.c: Cleanups.
  [ATM]: Remove dead ATM_TNETA1570 option.
  NetLabel: correctly fill in unused CIPSOv4 level and category mappings
  NetLabel: perform input validation earlier on CIPSOv4 DOI add ops

14 years ago[PATCH] cfq-iosched: tighten allow merge criteria
Jens Axboe [Fri, 22 Dec 2006 08:38:53 +0000 (09:38 +0100)]
[PATCH] cfq-iosched: tighten allow merge criteria

The logic in cfq_allow_merge() wasn't clear enough - basically allow
merging for the same queues only.  Do a fast check for 'rq and bio both
sync/async' before doing the cfqq hash lookup.

This is verified to work with the fixed elv_try_merge() from commit
bb4067e34159648d394943d5e2a011f838bff22f.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years ago[UDP]: Fix reversed logic in udp_get_port().
David S. Miller [Fri, 22 Dec 2006 19:42:26 +0000 (11:42 -0800)]
[UDP]: Fix reversed logic in udp_get_port().

When this code was converted to use sk_for_each() the
logic for the "best hash chain length" code was reversed,
breaking everything.

The original code was of the form:

size = 0;
do {
if (++size >= best_size_so_far)
goto next;
} while ((sk = sk->next) != NULL);
best_size_so_far = size;
best = result;
next:;

and this got converted into:

sk_for_each(sk2, node, head)
if (++size < best_size_so_far) {
best_size_so_far = size;
best = result;
}

Which does something very very different from the original.

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago[IPV6]: Dumb typo in generic csum_ipv6_magic()
Al Viro [Thu, 21 Dec 2006 21:15:18 +0000 (13:15 -0800)]
[IPV6]: Dumb typo in generic csum_ipv6_magic()

... duh

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago[SCTP]: make 2 functions static
Adrian Bunk [Thu, 21 Dec 2006 00:08:22 +0000 (16:08 -0800)]
[SCTP]: make 2 functions static

This patch makes the following needlessly global functions static:
- ipv6.c: sctp_inet6addr_event()
- protocol.c: sctp_inetaddr_event()

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago[SCTP]: Fix typo adaption -> adaptation as per the latest API draft.
Ivan Skytte Jorgensen [Thu, 21 Dec 2006 00:07:04 +0000 (16:07 -0800)]
[SCTP]: Fix typo adaption -> adaptation as per the latest API draft.

Signed-off-by: Ivan Skytte Jorgensen <isj-sctp@i1.dk>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago[SCTP]: Don't export include/linux/sctp.h to userspace.
Sridhar Samudrala [Thu, 21 Dec 2006 00:06:09 +0000 (16:06 -0800)]
[SCTP]: Don't export include/linux/sctp.h to userspace.

This file contains protocol definitions and there are no SCTP apps
that use this file.

Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago[TCP]: Fix ambiguity in the `before' relation.
Gerrit Renker [Wed, 20 Dec 2006 18:25:55 +0000 (10:25 -0800)]
[TCP]: Fix ambiguity in the `before' relation.

While looking at DCCP sequence numbers, I stumbled over a problem with
the following definition of before in tcp.h:

static inline int before(__u32 seq1, __u32 seq2)
{
        return (__s32)(seq1-seq2) < 0;
}

Problem: This definition suffers from an an ambiguity, i.e. always

           before(a, (a + 2^31) % 2^32)) = 1
           before((a + 2^31) % 2^32), a) = 1

         In text: when the difference between a and b amounts to 2^31,
         a is always considered `before' b, the function can not decide.
         The reason is that implicitly 0 is `before' 1 ... 2^31-1 ... 2^31

Solution: There is a simple fix, by defining before in such a way that
          0 is no longer `before' 2^31, i.e. 0 `before' 1 ... 2^31-1
          By not using the middle between 0 and 2^32, before can be made
          unambiguous.
          This is achieved by testing whether seq2-seq1 > 0 (using signed
          32-bit arithmetic).

I attach a patch to codify this. Also the `after' relation is basically
a redefinition of `before', it is now defined as a macro after before.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago[ATM] drivers/atm/fore200e.c: Cleanups.
Adrian Bunk [Wed, 20 Dec 2006 03:36:32 +0000 (19:36 -0800)]
[ATM] drivers/atm/fore200e.c: Cleanups.

This patch contains the following transformations from custom functions
to standard kernel version:
- fore200e_kmalloc() -> kzalloc()
- fore200e_kfree() -> kfree()
- fore200e_swap() -> cpu_to_be32()

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago[ATM]: Remove dead ATM_TNETA1570 option.
Adrian Bunk [Wed, 20 Dec 2006 03:35:05 +0000 (19:35 -0800)]
[ATM]: Remove dead ATM_TNETA1570 option.

This patch removes the unconverted ATM_TNETA1570 option that also lacks
any code in the kernel.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoNetLabel: correctly fill in unused CIPSOv4 level and category mappings
Paul Moore [Fri, 15 Dec 2006 21:49:28 +0000 (16:49 -0500)]
NetLabel: correctly fill in unused CIPSOv4 level and category mappings

Back when the original NetLabel patches were being changed to use Netlink
attributes correctly some code was accidentially dropped which set all of the
undefined CIPSOv4 level and category mappings to a sentinel value.  The result
is the mappings data in the kernel contains bogus mappings which always map to
zero.  This patch restores the old/correct behavior by initializing the mapping
data to the correct sentinel value.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
14 years agoNetLabel: perform input validation earlier on CIPSOv4 DOI add ops
Paul Moore [Fri, 15 Dec 2006 21:49:27 +0000 (16:49 -0500)]
NetLabel: perform input validation earlier on CIPSOv4 DOI add ops

There are a couple of cases where the user input for a CIPSOv4 DOI add
operation was not being done soon enough; the result was unexpected behavior
which was resulting in oops/panics/lockups on some platforms.  This patch moves
the existing input validation code earlier in the code path to protect against
bogus user input.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
14 years ago[PATCH] Fix up page_mkclean_one(): virtual caches, s390
Peter Zijlstra [Fri, 22 Dec 2006 13:25:52 +0000 (14:25 +0100)]
[PATCH] Fix up page_mkclean_one(): virtual caches, s390

 - add flush_cache_page() for all those virtual indexed cache
   architectures.

 - handle s390.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years ago[PATCH] serial/uartlite: Only enable port if request_port succeeded
Peter Korsgaard [Fri, 22 Dec 2006 15:38:40 +0000 (16:38 +0100)]
[PATCH] serial/uartlite: Only enable port if request_port succeeded

The uartlite driver used to always enable the port even if request_port
failed causing havoc. This patch fixes it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years ago[PATCH] Fix reparenting to the same thread group. (take 2)
Eric W. Biederman [Fri, 22 Dec 2006 04:28:40 +0000 (21:28 -0700)]
[PATCH] Fix reparenting to the same thread group. (take 2)

This patch fixes the case when we reparent to a different thread in the
same thread group.  This modifies the code so that we do not send
signals and do not change the signal to send to SIGCHLD unless we have
change the thread group of our parents.  It also suppresses sending
pdeath_sig in this cas as well since the result of geppid doesn't
change.

Thanks to Oleg for spotting my bug of only fixing this for non-ptraced
tasks.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Albert Cahalan <acahalan@gmail.com>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Roland McGrath <roland@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Coywolf Qi Hunt <qiyong@fc-cn.com>
Acked-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 years ago[PATCH] build compile.h earlier
Andrew Morton [Fri, 22 Dec 2006 09:12:01 +0000 (01:12 -0800)]
[PATCH] build compile.h earlier

compile.h is created super-late in the build.  But proc_misc.c want to include
it, and it's generally not sane to have a header file in include/linux be
created at the end of the build: it's either not present or, worse, wrong for
most of the build.

So the patch arranges for compile.h to be built at the start of the build
process.  It also consolidates the compile.h rules with those for version.h
and utsname.h, so they all get built together.

I hope.  My chances of having got this right are about 2%.

Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>