GitHub/mt8127/android_kernel_alcatel_ttab.git
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Sat, 20 Oct 2007 02:36:05 +0000 (19:36 -0700)]
Merge /pub/scm/linux/kernel/git/bart/ide-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (50 commits)
  ide: remove inclusion of non-existent io_trace.h
  ide-disk: add get_smart_data() helper
  ide: fix ->data_phase in taskfile_load_raw()
  ide: check drive->using_dma in flagged_taskfile()
  ide: check ->dma_setup() return value in flagged_taskfile()
  dtc2278: note on docs
  qd65xx: remove pointless qd_{read,write}_reg() (take 2)
  ide: PCI BMDMA initialization fixes (take 2)
  ide: remove stale comments from ide-taskfile.c
  ide: remove dead code from ide_driveid_update()
  ide: use __ide_end_request() in ide_end_dequeued_request()
  ide: enhance ide_setup_pci_noise()
  cs5530: remove needless ide_lock taking
  ide: take ide_lock for prefetch disable/enable in do_special()
  ht6560b: fix deadlock on error handling
  cmd640: fix deadlock on error handling
  slc90e66: fix deadlock on error handling
  opti621: fix deadlock on error handling
  qd65xx: fix deadlock on error handling
  dtc2278: fix deadlock on error handling
  ...

17 years agonfs: Fix build break with CONFIG_NFS_V4=n
Olof Johansson [Sat, 20 Oct 2007 01:41:49 +0000 (20:41 -0500)]
nfs: Fix build break with CONFIG_NFS_V4=n

Signed-off-by: Olof Johansson <olof@lixom.net>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/agk/linux-2.6-dm
Linus Torvalds [Sat, 20 Oct 2007 02:17:56 +0000 (19:17 -0700)]
Merge /pub/scm/linux/kernel/git/agk/linux-2.6-dm

* master.kernel.org:/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (29 commits)
  dm crypt: tidy pending
  dm mpath: send uevents
  dm: uevent generate events
  dm: add uevent to core
  dm: export name and uuid
  dm raid1: add mirror_set to struct mirror
  dm log: split suspend
  dm mpath: hp retry if not ready
  dm mpath: add hp handler
  dm mpath: add retry pg init
  dm crypt: tidy labels
  dm crypt: tidy whitespace
  dm crypt: add post processing queue
  dm crypt: use per device singlethread workqueues
  dm mpath: emc fix an error message
  dm: bio_list macro renaming
  dm io:ctl remove vmalloc void cast
  dm: tidy bio_io_error usage
  kcopyd use mutex instead of semaphore
  dm: use kzalloc
  ...

17 years agosysctl: Don't compile sysctl_check when !CONFIG_SYSCTL
Eric W. Biederman [Sat, 20 Oct 2007 00:23:25 +0000 (18:23 -0600)]
sysctl: Don't compile sysctl_check when !CONFIG_SYSCTL

Weird I thought I had written the makefile so this would be handled.  Oh
well this should fix it.

Sorry about that.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-and-tested-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodm crypt: tidy pending
Milan Broz [Sat, 20 Oct 2007 00:14:21 +0000 (01:14 +0100)]
dm crypt: tidy pending

Add crypt prefix to dec_pending to avoid confusing it in backtraces with
the dm core function of the same name.

No functional change here.

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm mpath: send uevents
Mike Anderson [Fri, 19 Oct 2007 21:48:02 +0000 (22:48 +0100)]
dm mpath: send uevents

This patch adds calls to dm_path_event for a failed path and a reinstated
path.

Signed-off-by: Mike Anderson <andmike@linux.vnet.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm: uevent generate events
Mike Anderson [Fri, 19 Oct 2007 21:48:01 +0000 (22:48 +0100)]
dm: uevent generate events

This patch adds support for the dm_path_event dm_send_event functions which
create and send udev events.

Signed-off-by: Mike Anderson <andmike@linux.vnet.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm: add uevent to core
Mike Anderson [Fri, 19 Oct 2007 21:48:00 +0000 (22:48 +0100)]
dm: add uevent to core

This patch adds a uevent skeleton to device-mapper.

Signed-off-by: Mike Anderson <andmike@linux.vnet.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm: export name and uuid
Mike Anderson [Fri, 19 Oct 2007 21:47:59 +0000 (22:47 +0100)]
dm: export name and uuid

This patch adds a function to obtain a copy of a mapped device's name and uuid.

Signed-off-by: Mike Anderson <andmike@linux.vnet.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm raid1: add mirror_set to struct mirror
Jonathan Brassow [Fri, 19 Oct 2007 21:47:58 +0000 (22:47 +0100)]
dm raid1: add mirror_set to struct mirror

Store a pointer to the owning mirror_set structure within each mirror
structure for a subsequent patch to use.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm log: split suspend
Jonathan Brassow [Fri, 19 Oct 2007 21:47:57 +0000 (22:47 +0100)]
dm log: split suspend

There are now two phases to a suspend in device-mapper -
presuspend and postsuspend.  This patch removes the
single 'suspend' in the logging API and replaces it with
'presuspend' and 'postsuspend' functions to align it
better with core device-mapper.

A subsequent patch will make use of 'presuspend'.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm mpath: hp retry if not ready
Dave Wysochanski [Fri, 19 Oct 2007 21:47:55 +0000 (22:47 +0100)]
dm mpath: hp retry if not ready

This patch adds retries to the hp hardware handler, and utilizes the
MP_RETRY flag of dm-multipath.  For now in the hp handler, if we get a
pg_init completed with a check condition we just assume we can retry the
pg_init command.  We make this assumption because of incomplete data on
specific check condition code of the HP hardware, and because testing
has shown the HP path initialization command to be idempotent.
The number of times we retry is settable via the "pg_init_retries"
multipath map feature.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Acked-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm mpath: add hp handler
Dave Wysochanski [Fri, 19 Oct 2007 21:47:54 +0000 (22:47 +0100)]
dm mpath: add hp handler

This patch adds the most basic dm-multipath hardware support for the
HP active/passive arrays.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Acked-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm mpath: add retry pg init
Dave Wysochanski [Fri, 19 Oct 2007 21:47:53 +0000 (22:47 +0100)]
dm mpath: add retry pg init

This patch allows a failed path group initialisation command to be retried.

It adds a generic MP_RETRY flag and a "pg_init_retries" feature to
device-mapper multipath which limits the number of retries.

1. A hw handler sends a path initialization command to the storage and
the command completes with an error code indicating the command
should be retried.

2. The hardware handler calls dm_pg_init_complete() with MP_RETRY
set in err_flags to ask the dm multipath core to retry.

3. If the retry limit has not been exceeded, pg_init() is retried.
Otherwise fail_path() is called.

If you are using the userspace multipath-tools or device-mapper-multipath
package, you can set pg_init_retries in the 'device' section of your
/etc/multipath.conf file. For example:

features                "2 pg_init_retries 7"

The number of PG retries attempted is reported in the 'dmsetup status' output.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Acked-by: Mike Christie <michaelc@cs.wisc.edu>
Acked-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm crypt: tidy labels
Milan Broz [Fri, 19 Oct 2007 21:47:52 +0000 (22:47 +0100)]
dm crypt: tidy labels

Replace numbers with names in labels in error paths, to avoid confusion
when new one get added between existing ones.

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm crypt: tidy whitespace
Milan Broz [Fri, 19 Oct 2007 21:42:37 +0000 (22:42 +0100)]
dm crypt: tidy whitespace

Clean up, convert some spaces to tabs.

No functional change here.

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm crypt: add post processing queue
Milan Broz [Fri, 19 Oct 2007 21:38:58 +0000 (22:38 +0100)]
dm crypt: add post processing queue

Add post-processing queue (per crypt device) for read operations.

Current implementation uses only one queue for all operations
and this can lead to starvation caused by many requests waiting
for memory allocation. But the needed memory-releasing operation
is queued after these requests (in the same queue).

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm crypt: use per device singlethread workqueues
Milan Broz [Fri, 19 Oct 2007 21:38:57 +0000 (22:38 +0100)]
dm crypt: use per device singlethread workqueues

Use a separate single-threaded workqueue for each crypt device
instead of one global workqueue.

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm mpath: emc fix an error message
Alasdair G Kergon [Fri, 19 Oct 2007 21:38:56 +0000 (22:38 +0100)]
dm mpath: emc fix an error message

Correct an error message, reported by Michael Wood <michael@frogfoot.com>.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm: bio_list macro renaming
Alasdair G Kergon [Fri, 19 Oct 2007 21:38:55 +0000 (22:38 +0100)]
dm: bio_list macro renaming

Remove BIO_LIST and DEFINE_BIO_LIST macros that gain us nothing
since contents are initialised to NULL.

Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm io:ctl remove vmalloc void cast
Jesper Juhl [Fri, 19 Oct 2007 21:38:54 +0000 (22:38 +0100)]
dm io:ctl remove vmalloc void cast

In drivers/md/dm-ioctl.c::copy_params() there's a call to vmalloc()
where we currently cast the return value, but that's pretty pointless
given that vmalloc() returns "void *".

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm: tidy bio_io_error usage
Milan Broz [Fri, 19 Oct 2007 21:38:53 +0000 (22:38 +0100)]
dm: tidy bio_io_error usage

Use bio_io_error() in only two places and tidy the code,
preparing for later patches.

There is no functional change in this patch.

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agokcopyd use mutex instead of semaphore
Matthias Kaehlcke [Fri, 19 Oct 2007 21:38:52 +0000 (22:38 +0100)]
kcopyd use mutex instead of semaphore

Kcopyd uses a semaphore as mutex.  Use the mutex API instead of the (binary)
semaphore,

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Cc: Neil Brown <neilb@suse.de>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
17 years agodm: use kzalloc
Dmitry Monakhov [Fri, 19 Oct 2007 21:38:51 +0000 (22:38 +0100)]
dm: use kzalloc

Convert kmalloc() + memset() to kzalloc().

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm: use is_power_of_2
vignesh babu [Fri, 19 Oct 2007 21:38:44 +0000 (22:38 +0100)]
dm: use is_power_of_2

Replacing n & (n - 1) for power of 2 check by is_power_of_2(n)

Signed-off-by: vignesh babu <vignesh.babu@wipro.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm: fix thaw_bdev
Jun'ichi Nomura [Fri, 19 Oct 2007 21:38:43 +0000 (22:38 +0100)]
dm: fix thaw_bdev

This patch fixes a bd_mount_sem counter corruption bug in device-mapper.

thaw_bdev() should be called only when freeze_bdev() was called for the
device.
Otherwise, thaw_bdev() will up bd_mount_sem and corrupt the semaphore counter.
struct block_device with the corrupted semaphore may remain in slab cache
and be reused later.

Attached patch will fix it by calling unlock_fs() instead.
unlock_fs() will determine whether it should call thaw_bdev()
by checking the device is frozen or not.

Easy reproducer is:
  #!/bin/sh
  while [ 1 ]; do
     dmsetup --notable create a
     dmsetup --nolockfs suspend a
     dmsetup remove a
  done

It's not easy to see the effect of corrupted semaphore.
So I have tested with putting printk below in bdev_alloc_inode():
        if (atomic_read(&ei->bdev.bd_mount_sem.count) != 1)
                printk(KERN_DEBUG "Incorrect semaphore count = %d (%p)\n",
                        atomic_read(&ei->bdev.bd_mount_sem.count),
                        &ei->bdev);

Without the patch, I saw something like:
 Incorrect semaphore count = 17 (f2ab91c0)

With the patch, the message didn't appear.

The bug was introduced in 2.6.16 with this bug fix:

commit d9dde59ba03095e526640988c0fedd75e93bc8b7
Date:   Fri Feb 24 13:04:24 2006 -0800

    [PATCH] dm: missing bdput/thaw_bdev at removal

    Need to unfreeze and release bdev otherwise the bdev inode with
    inconsistent state is reused later and cause problem.

and backported to 2.6.15.5.

It occurs only in free_dev(), which is called only when the dm device is
removed.  The buggy code is executed only if md->suspended_bdev is
non-NULL and that can happen only when the device was suspended without
noflush.

Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: stable@kernel.org
17 years agodm delay: fix status
Milan Broz [Fri, 19 Oct 2007 21:38:42 +0000 (22:38 +0100)]
dm delay: fix status

Fix missing space in dm-delay target status output
if separate read and write delay are configured.

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm delay: fix ctr error paths
Dmitry Monakhov [Fri, 19 Oct 2007 21:38:41 +0000 (22:38 +0100)]
dm delay: fix ctr error paths

Add missing 'dm_put_device' to dm-delay target constructor.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm raid1: fix leakage
Dmitry Monakhov [Fri, 19 Oct 2007 21:38:39 +0000 (22:38 +0100)]
dm raid1: fix leakage

Add missing 'dm_io_client_destroy' to alloc_context error path.
Reorganize mirror constructor error path in order to prevent
workqueue leakage.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm crypt: missing kfree in ctr error path
Dmitry Monakhov [Fri, 19 Oct 2007 21:38:38 +0000 (22:38 +0100)]
dm crypt: missing kfree in ctr error path

Insert missing kfree() in crypt_iv_essiv_ctr() error path.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm crypt: drop device ref in ctr error path
Dmitry Monakhov [Fri, 19 Oct 2007 21:38:37 +0000 (22:38 +0100)]
dm crypt: drop device ref in ctr error path

Add a missing 'dm_put_device' in an error path in crypt target constructor.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agodm io:ctl use constant struct size
Milan Broz [Fri, 19 Oct 2007 21:38:36 +0000 (22:38 +0100)]
dm io:ctl use constant struct size

Make size of dm_ioctl struct always 312 bytes on all supported
architectures.

This change retains compatibility with already-compiled code because
it uses an embedded offset to locate the payload that follows the
structure.

On 64-bit architectures there is no change at all; on 32-bit
we are increasing the size of dm-ioctl from 308 to 312 bytes.

Currently with 32-bit userspace / 64-bit kernel on x86_64
some ioctls (including rename, message) are incorrectly rejected
by the comparison against 'param + 1'.  This breaks userspace
lvrename and multipath 'fail_if_no_path' changes, for example.

(BTW Device-mapper uses its own versioning and ignores the ioctl
size bits.  Only the generic ioctl compat code on mixed arches
checks them, and that will continue to accept both sizes for now,
but we intend to list 308 as deprecated and eventually remove it.)

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: Guido Guenther <agx@sigxcpu.org>
Cc: Kevin Corry <kevcorry@us.ibm.com>
Cc: stable@kernel.org
17 years agodm mpath: rdac fix init race
Bryn M. Reeves [Fri, 19 Oct 2007 21:29:32 +0000 (22:29 +0100)]
dm mpath: rdac fix init race

Re-order the initialisation of dm-rdac to avoid registering the hw
handler before the workqueue has been initialised. Closes a race
that would potentially give an oops.

Signed-off-by: Bryn M. Reeves <breeves@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
17 years agoide: remove inclusion of non-existent io_trace.h
Robert P. J. Day [Fri, 19 Oct 2007 22:32:38 +0000 (00:32 +0200)]
ide: remove inclusion of non-existent io_trace.h

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Cc: gadio@netvision.net.il
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide-disk: add get_smart_data() helper
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:37 +0000 (00:32 +0200)]
ide-disk: add get_smart_data() helper

Merge get_smart_values() and get_smart_thresholds()
into get_smart_data() helper.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: fix ->data_phase in taskfile_load_raw()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:37 +0000 (00:32 +0200)]
ide: fix ->data_phase in taskfile_load_raw()

It should be TASKFILE_NO_DATA, not TASKFILE_IN.  Luckily ATM ->data_phase is
unused if ->command_type == IDE_DRIVE_TASK_NO_DATA but this may change in the
future.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: check drive->using_dma in flagged_taskfile()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:37 +0000 (00:32 +0200)]
ide: check drive->using_dma in flagged_taskfile()

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: check ->dma_setup() return value in flagged_taskfile()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:37 +0000 (00:32 +0200)]
ide: check ->dma_setup() return value in flagged_taskfile()

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agodtc2278: note on docs
Alan Cox [Fri, 19 Oct 2007 22:32:37 +0000 (00:32 +0200)]
dtc2278: note on docs

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoqd65xx: remove pointless qd_{read,write}_reg() (take 2)
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:37 +0000 (00:32 +0200)]
qd65xx: remove pointless qd_{read,write}_reg() (take 2)

These functions are atomic so locking is pointless (noticed by Sergei).

v2:
We can now just use local_irq_save/restore() in qd_testreg() (noticed by Jeff).

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: PCI BMDMA initialization fixes (take 2)
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:37 +0000 (00:32 +0200)]
ide: PCI BMDMA initialization fixes (take 2)

* Set hwif->dma_base only if allocation of extra ports succeeds.

While at it:

* Move setting of hwif->dma_{base,master} from ide_{mapped_mmio,iomio}_dma()
  to ide_setup_dma().

* Rename 'dma_base' argument to 'base' in ide_setup_dma() (to make the code
  obey 80-columns limit and increase its readability).

* Remove stale ide_setup_dma() comment.

v2:
* Change to allocate hwif->dmatable_cpu before reserving I/O ports missed
  teardown code (spotted by Sergei).  On the second thought this change is
  actually unnecessary so revert it in v2.

* Make ide_release_dma_engine() void and remove needless comment.

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove stale comments from ide-taskfile.c
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:36 +0000 (00:32 +0200)]
ide: remove stale comments from ide-taskfile.c

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove dead code from ide_driveid_update()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:36 +0000 (00:32 +0200)]
ide: remove dead code from ide_driveid_update()

* Remove dead code from ide_driveid_update().

While at it:

* Remove useless comment.

* s/HWIF(drive)/drive->hwif/

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: use __ide_end_request() in ide_end_dequeued_request()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:36 +0000 (00:32 +0200)]
ide: use __ide_end_request() in ide_end_dequeued_request()

* Remove dead code for handling IDE TCQ from ide_end_dequeued_request().

* Add 'dequeue' parameter to __ide_end_request().

* Use __ide_end_request() in ide_end_dequeued_request().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: enhance ide_setup_pci_noise()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:36 +0000 (00:32 +0200)]
ide: enhance ide_setup_pci_noise()

* Print PCI device Vendor ID, Device ID and revision in
  ide_setup_pci_noise().

* Remove no longer needed PCI device revision printing from
  ide_setup_pci_controller().

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agocs5530: remove needless ide_lock taking
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:36 +0000 (00:32 +0200)]
cs5530: remove needless ide_lock taking

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: take ide_lock for prefetch disable/enable in do_special()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:36 +0000 (00:32 +0200)]
ide: take ide_lock for prefetch disable/enable in do_special()

Take ide_lock for prefetch disable/enable in do_special(),
then cleanup cmd640 and ht6560b host drivers.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoht6560b: fix deadlock on error handling
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:35 +0000 (00:32 +0200)]
ht6560b: fix deadlock on error handling

Stop abusing ide_lock lock (switch to a private locking).

Fixes same issue as fixed by Alan Cox in atiixp host driver with
commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.

ht6560b is a bit special cause we still need to leave ide_lock for
->set_pio_mode with 'pio' argument == 8/9 (prefetch disable/enable).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agocmd640: fix deadlock on error handling
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:35 +0000 (00:32 +0200)]
cmd640: fix deadlock on error handling

Stop abusing ide_lock lock (switch to a private locking).

Fixes same issue as fixed by Alan Cox in atiixp host driver with
commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.

cmd640 is a bit special cause we still need to leave ide_lock for
->set_pio_mode with 'pio' argument == 8/9 (prefetch disable/enable).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoslc90e66: fix deadlock on error handling
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:35 +0000 (00:32 +0200)]
slc90e66: fix deadlock on error handling

* Stop abusing ide_lock lock (switch to a private locking).

  Fixes same issue as fixed by Alan Cox in atiixp host driver with
  commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.

* Bump driver version.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoopti621: fix deadlock on error handling
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:35 +0000 (00:32 +0200)]
opti621: fix deadlock on error handling

* Stop abusing ide_lock lock (switch to a private locking).

  Fixes same issue as fixed by Alan Cox in atiixp host driver with
  commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoqd65xx: fix deadlock on error handling
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:35 +0000 (00:32 +0200)]
qd65xx: fix deadlock on error handling

Stop abusing ide_lock lock (switch to a private locking).

Fixes same issue as fixed by Alan Cox in atiixp host driver with
commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agodtc2278: fix deadlock on error handling
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:35 +0000 (00:32 +0200)]
dtc2278: fix deadlock on error handling

Stop abusing ide_lock lock (switch to a private locking).

Fixes same issue as fixed by Alan Cox in atiixp host driver with
commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoali14xx: fix deadlock on error handling
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:35 +0000 (00:32 +0200)]
ali14xx: fix deadlock on error handling

Stop abusing ide_lock lock by switching to a private locking.

Fixes same issue as fixed by Alan Cox in atiixp host driver with
commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: constify struct ide_port_info
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:34 +0000 (00:32 +0200)]
ide: constify struct ide_port_info

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: replace ide_pci_device_t by struct ide_port_info
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:34 +0000 (00:32 +0200)]
ide: replace ide_pci_device_t by struct ide_port_info

* Rename struct ide_pci_device_s to struct ide_port_info.

* Remove ide_pci_device_t typedef.

While at it:

* Fix __ide_pci_register_driver() comment.

* Fix aec62xx_init_one() comment.

* Remove unused 'cds' field from ide_hwgroup_t.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agovia82cxxx: keep local ide_pci_device_t copy
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:33 +0000 (00:32 +0200)]
via82cxxx: keep local ide_pci_device_t copy

* Keep local ide_pci_device_t copy in via_init_one().

* Adjust ide_pci_device_t copy according to id->driver_data in via_init_one()
  and remove no longer needed second via82cxxx_chipsets[] entry.

* via82cxxx_chipsets[] -> via82cxxx_chipset.

* Remove IDE_HFLAGS_VIA define.

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agodtc2278: set ->pio_mask also for the second port
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:33 +0000 (00:32 +0200)]
dtc2278: set ->pio_mask also for the second port

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoau1xxx-ide: set ->autotune and ->no_io_32bit also for the slave device
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:33 +0000 (00:32 +0200)]
au1xxx-ide: set ->autotune and ->no_io_32bit also for the slave device

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove write-only hwif->hw
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:33 +0000 (00:32 +0200)]
ide: remove write-only hwif->hw

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add hwif->ack_intr hook
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:32 +0000 (00:32 +0200)]
ide: add hwif->ack_intr hook

* Add hwif->ack_intr hook and use it instead of hwif->hw.ack_intr.

* Add missing brackets to cris-v32 and powerpc ide_ack_intr() macros.

Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoicside: use ec->dma directly
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:32 +0000 (00:32 +0200)]
icside: use ec->dma directly

* hwif->hwif_data contains pointer to struct expansion_card so use ec->dma
  directly instead of caching it in hwif->hw.dma.

* Remove no longer needed hw_regs_t.dma and NO_DMA define.

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: fix ide_register_hw() to check hwif->io_ports[]
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:32 +0000 (00:32 +0200)]
ide: fix ide_register_hw() to check hwif->io_ports[]

hwif->hw.io_ports[] and hwif->io_ports[] should be the same but "4drives"
support and scc_pata host driver set only hwif->io_ports[].

To compensate for this check hwif->io_ports[] instead of hwif->hw.io_ports[]
in ide_register_hw() (instead of fixing "4drives" and scc_pata because hwif->hw
is to be removed).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add CONFIG_IDE_ARCH_OBSOLETE_INIT
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:32 +0000 (00:32 +0200)]
ide: add CONFIG_IDE_ARCH_OBSOLETE_INIT

Add CONFIG_IDE_ARCH_OBSOLETE_INIT to drivers/ide/Kconfig and use it instead
of defining IDE_ARCH_OBSOLETE_INIT in <arch/ide.h>.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove redundant comments from ide.h
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:31 +0000 (00:32 +0200)]
ide: remove redundant comments from ide.h

There is better documentation for these functions in drivers/ide/.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ide_find_port() helper
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:31 +0000 (00:32 +0200)]
ide: add ide_find_port() helper

* Add ide_find_port() helper.

* Convert icside, rapide and ide_platform host drivers to use it.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ide_device_add()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:31 +0000 (00:32 +0200)]
ide: add ide_device_add()

* Add ide_device_add() helper and convert host drivers to use it
  instead of open-coded variants.

* Make ide_pci_setup_ports() and do_ide_setup_pci_device()
  take 'u8 *idx' argument instead of 'ata_index_t *index'.

* Remove no longer needed ata_index_t.

* Unexport probe_hwif_init() and make it static.

* Unexport ide_proc_register_port().

There should be no functionality changes caused by this patch
(sgiioc4.c: ide_proc_register_port() requires hwif->present
 to be set and it won't be set if probe_hwif_init() fails).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ->fixup method to ide_hwif_t
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:31 +0000 (00:32 +0200)]
ide: add ->fixup method to ide_hwif_t

* Add ->fixup method to ide_hwif_t.

* Set hwif->fixup in ide_pci_setup_ports() to d->fixup.

* Use hwif->fixup in probe_hwif().

* Use probe_hwif_init() instead of probe_hwif_init_with_fixup() in
  ide_setup_pci_device().

* Add 'fixup' argument to ide_register_hw() and use it to set hwif->fixup,
  update all ide_register_hw() users accordingly.

* Convert ide-cs/delkin_cb host drivers to use ide_register_hw().

* Restore hwif->fixup in ide_hwif_restore().

* Remove ide_register_hw_with_fixup(), probe_hwif_init_with_fixup()
  and 'fixup' argument from probe_hwif().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agosiimage: separate PATA and SATA methods
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:31 +0000 (00:32 +0200)]
siimage: separate PATA and SATA methods

* Split off sil_sata_udma_filter() from sil_udma_filter()
  and rename sil_udma_filter() to sil_pata_udma_filter().

* Rename siimage_busproc() to sil_sata_busproc().

* Rename siimage_reset_poll() to sil_sata_reset_poll()
  and in init_hwif_siimage() set ->reset_poll method only
  for SATA controllers.

* Rename siimage_pre_reset() to sil_sata_pre_reset(),
  in init_hwif_siimage() set ->pre_reset method only for
  SATA controllers and remove redundant is_sata() call.

* Add CONFIG_BLK_DEV_IDE_SATA #ifdef/#endif to pdev_is_sata()
  so compiler will know to throw out unused SATA code for
  CONFIG_BLK_DEV_IDE_SATA=n case (830 bytes saved on x86-32).

* Bump driver version.

Some minor cleanups while at it:

* Convert sil_{pata,sata}_udma_filter() to use ATA_UDMA* defines.

* In siimage_mmio_ide_dma_test_irq() move 'base' variable
  under 'if (SATA_ERROR_REG)' block.

* Simplify sil_sata_reset_poll() a bit.

* Cache is_sata() result in init_hwif_siimage()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoaec62xx: remove aec62xx_dma_lost_irq()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:31 +0000 (00:32 +0200)]
aec62xx: remove aec62xx_dma_lost_irq()

* Remove aec62xx_dma_lost_irq() (generic ide_dma_lost_irq() will be used now).

* Bump driver version.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoalim15x3: use ->host_flags and ->udma_mask fields from ide_pci_device_t
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:30 +0000 (00:32 +0200)]
alim15x3: use ->host_flags and ->udma_mask fields from ide_pci_device_t

* Make a local copy of ali15x3_chipset in alim15x3_init_one() and set
  ->host_flags / ->udma_mask according to the controller capabilities.

* Cleanup init_hwif_common_ali15x3().

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoalim15x3: fix CD_ROM DMA and PIO FIFO settings setup
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:30 +0000 (00:32 +0200)]
alim15x3: fix CD_ROM DMA and PIO FIFO settings setup

* Setup CD_ROM DMA and PIO FIFO settings in init_chipset_ali15x3() instead
  of ata66_ali15x3().  The latter is called from init_hwif_common_ali15x3()
  only if DMA base exists (which insists m5529_revision > 0x20).

  This changes makes CD_ROM DMA / PIO FIFO bits being set only once
  and also when "idex=ata66" kernel parameter is used.

* While at it move also chip_is_1543c_e setup from ata66_ali15x3() to
  init_chipset_ali15x3() and check if isa_dev exists before accessing it.

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flags
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:30 +0000 (00:32 +0200)]
ide: add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flags

Add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flag to tell ide_pci_setup_ports()
to set drive->{io_32bit,unmask} for both drives on the interface.  Convert
amd74xx, sl82c105 and via82cxxx host drivers to use these new host flags.

While at it:

* Add IDE_HFLAGS_AMD define (amd74xx host driver).

* Add IDE_HFLAGS_VIA define (via82cxxx host driver).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add IDE_HFLAG_RQSIZE_256 host flag
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:30 +0000 (00:32 +0200)]
ide: add IDE_HFLAG_RQSIZE_256 host flag

Add IDE_HFLAG_RQSIZE_256 host flag to tell ide_pci_setup_ports() to set
hwif->rqsize to 256 sectors.  Convert pdc202xx_old host driver to use it.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add IDE_HFLAG_FORCE_LEGACY_IRQS host flag
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:30 +0000 (00:32 +0200)]
ide: add IDE_HFLAG_FORCE_LEGACY_IRQS host flag

Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag to tell ide_pci_setup_ports()
to always set hwif->irq to legacy IRQ 14/15 and convert generic IDE PCI
and via82cxxx host drivers to use it.

While at it:

* Add IDE_HFLAGS_UMC define (generic IDE PCI host driver).

* Remove no longer needed init_hwif_generic() (generic IDE PCI host driver).

* Set d->udma_mask instead of hwif->ultra_mask (via82cxxx host driver).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ->chipset field to ide_pci_device_t
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:30 +0000 (00:32 +0200)]
ide: add ->chipset field to ide_pci_device_t

Add ->chipset field to ide_pci_device_t and use it in ide_hwif_configure()
to set hwif->chipset.  Convert cmd64x, cy82c693, rz1000 and trm290 host
drivers to use this new ability.

While at it define hwif_chipset_t as u8 to save some space in hw_regs_t,
ide_hwif_t and ide_pci_device_t instances.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove unused ->next field from ide_pci_device_t
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:29 +0000 (00:32 +0200)]
ide: remove unused ->next field from ide_pci_device_t

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add hwif_register_devices() helper
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:29 +0000 (00:32 +0200)]
ide: add hwif_register_devices() helper

Add hwif_register_devices() helper to fix code duplication between
probe_hwif_init_with_fixup() and ideprobe_init().  Also remove stale
comment while at it.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoserverworks: remove dead code from svwks_set_dma_mode()
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:29 +0000 (00:32 +0200)]
serverworks: remove dead code from svwks_set_dma_mode()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agorz1000: set serialized flag only if mate interface exists
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:29 +0000 (00:32 +0200)]
rz1000: set serialized flag only if mate interface exists

Setting hwif->serialized makes sense only if the mate interface exists.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: fix disabled ports reporting for PCI controllers
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:29 +0000 (00:32 +0200)]
ide: fix disabled ports reporting for PCI controllers

Report all disabled ports in ide_pci_setup_ports() (prevents the bogus
warning when ide_hwif_configure()->ide_match_hwif() fails to find free
ide_hwifs[] slots).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agocmd64x: always set hwif->chipset for CMD646
Bartlomiej Zolnierkiewicz [Fri, 19 Oct 2007 22:32:29 +0000 (00:32 +0200)]
cmd64x: always set hwif->chipset for CMD646

hwif->chipset should be set to ide_cmd646 also when DMA base is invalid.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide/pci/sis5513.c: add missing "else"
Adrian Bunk [Fri, 19 Oct 2007 22:32:29 +0000 (00:32 +0200)]
ide/pci/sis5513.c: add missing "else"

This patch adds a missing "else" that was missing in
commit c77a89cd98d99819f23a4a08e5e17ee1f13f6e4d.

Spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>,
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoMerge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86
Linus Torvalds [Fri, 19 Oct 2007 22:06:00 +0000 (15:06 -0700)]
Merge ssh:///linux/kernel/git/tglx/linux-2.6-x86

* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (33 commits)
  x86: convert cpuinfo_x86 array to a per_cpu array
  x86: introduce frame_pointer() and stack_pointer()
  x86 & generic: change to __builtin_prefetch()
  i386: do not BUG_ON() when MSR is unknown
  x86: acpi use cpu_physical_id
  x86: convert cpu_llc_id to be a per cpu variable
  x86: convert cpu_to_apicid to be a per cpu variable
  i386: introduce "used_vectors" bitmap which can be used to reserve vectors.
  x86: use raw locks during oopses
  x86: honor _PAGE_PSE bit on page walks
  i386: do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE.
  x86: implement missing x86_64 function smp_call_function_mask()
  x86: use descriptor's functions instead of inline assembly
  i386: consolidate show_regs and show_registers for i386
  i386: make callgraph use dump_trace() on i386/x86_64
  x86: enable iommu_merge by default
  i386: i386 add AMD64 Barcelona PMU MSR definitions to msr.h
  x86: Unify i386 and x86-64 early quirks
  x86: enable HPET on ICH3 and ICH4
  x86: force enable HPET on VT8235/8237 chipsets
  ...

Manually fix trivial conflict with task pid container helper changes in
arch/x86/kernel/process_32.c

17 years agoMerge git://git.linux-nfs.org/pub/linux/nfs-2.6
Linus Torvalds [Fri, 19 Oct 2007 21:31:42 +0000 (14:31 -0700)]
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6

* git://git.linux-nfs.org/pub/linux/nfs-2.6:
  NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c
  NFSv4: Ensure that we wait for the CLOSE request to complete
  NFS: Fix a race in sillyrename
  NFS: Fix a writeback race...

17 years agoNFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c
Trond Myklebust [Thu, 18 Oct 2007 23:59:20 +0000 (19:59 -0400)]
NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFSv4: Ensure that we wait for the CLOSE request to complete
Trond Myklebust [Thu, 18 Oct 2007 22:03:27 +0000 (18:03 -0400)]
NFSv4: Ensure that we wait for the CLOSE request to complete

Otherwise, we do end up breaking close-to-open semantics. We also end up
breaking some of the silly-rename tests in Connectathon on some setups.

Please refer to the bug-report at
http://bugzilla.linux-nfs.org/show_bug.cgi?id=150

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix a race in sillyrename
Trond Myklebust [Mon, 15 Oct 2007 22:17:53 +0000 (18:17 -0400)]
NFS: Fix a race in sillyrename

lookup() and sillyrename() can race one another because the sillyrename()
completion cannot take the parent directory's inode->i_mutex since the
latter may be held by whoever is calling dput().

We therefore have little option but to add extra locking to ensure that
nfs_lookup() and nfs_atomic_open() do not race with the sillyrename
completion.
If somebody has looked up the sillyrenamed file in the meantime, we just
transfer the sillydelete information to the new dentry.

Please refer to the bug-report at
http://bugzilla.linux-nfs.org/show_bug.cgi?id=150

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoNFS: Fix a writeback race...
Trond Myklebust [Thu, 18 Oct 2007 21:08:05 +0000 (17:08 -0400)]
NFS: Fix a writeback race...

This patch fixes a regression that was introduced by commit
44dd151d5c21234cc534c47d7382f5c28c3143cd

We cannot zero the user page in nfs_mark_uptodate() any more, since

  a) We'd be modifying the page without holding the page lock
  b) We can race with other updates of the page, most notably
     because of the call to nfs_wb_page() in nfs_writepage_setup().

Instead, we do the zeroing in nfs_update_request() if we see that we're
creating a request that might potentially be marked as up to date.

Thanks to Olivier Paquet for reporting the bug and providing a test-case.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Fri, 19 Oct 2007 20:47:38 +0000 (13:47 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
  kbuild: fix first module build
  kconfig: update kconfig-language text
  kbuild: introduce cc-cross-prefix
  kbuild: disable depmod in cross-compile kernel build
  kbuild: make deb-pkg - add 'Provides:' line
  kconfig: comment typo in scripts/kconfig/Makefile.
  kbuild: stop docproc segfaulting when SRCTREE isn't set.
  kbuild: modpost problem when symbols move from one module to another
  kbuild: cscope - filter out .tmp_* in find_sources
  kbuild: mailing list has moved
  kbuild: check asm symlink when building a kernel

17 years agokbuild: fix first module build
Sam Ravnborg [Fri, 19 Oct 2007 20:20:02 +0000 (22:20 +0200)]
kbuild: fix first module build

When building a specific module before doing a total kernel
build it failed because $(MORVERDIR) were missing.
Creating the MODVERDIR explicit (independent of KBUILD_MODULES)
fixed this. As a side-effect the MODVERDIR will be created
also for a non-module build - but no harm done by that.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Fri, 19 Oct 2007 20:12:46 +0000 (13:12 -0700)]
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: (41 commits)
  ACPICA: hw: Don't carry spinlock over suspend
  ACPICA: hw: remove use_lock flag from acpi_hw_register_{read, write}
  ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle
  ACPI: clean up acpi_enter_sleep_state_prep
  Hibernation: Make sure that ACPI is enabled in acpi_hibernation_finish
  ACPI: suppress uninitialized var warning
  cpuidle: consolidate 2.6.22 cpuidle branch into one patch
  ACPI: thinkpad-acpi: skip blanks before the data when parsing sysfs
  ACPI: AC: Add sysfs interface
  ACPI: SBS: Add sysfs alarm
  ACPI: SBS: Add ACPI_PROCFS around procfs handling code.
  ACPI: SBS: Add support for power_supply class (and sysfs)
  ACPI: SBS: Make SBS reads table-driven.
  ACPI: SBS: Simplify data structures in SBS
  ACPI: SBS: Split host controller (ACPI0001) from SBS driver (ACPI0002)
  ACPI: EC: Add new query handler to list head.
  ACPI: Add acpi_bus_generate_event4() function
  ACPI: Battery: add sysfs alarm
  ACPI: Battery: Add sysfs support
  ACPI: Battery: Misc clean-ups, no functional changes
  ...

Fix up conflicts in drivers/misc/thinkpad_acpi.[ch] manually

17 years agokconfig: update kconfig-language text
Randy Dunlap [Fri, 19 Oct 2007 17:53:48 +0000 (10:53 -0700)]
kconfig: update kconfig-language text

Add kconfig-language docs for mainmenu, def_bool, and def_tristate.
Remove "requires" as a synonym of "depends on" since it was removed
from  the parser in commit 247537b9a270b52cc0375adcb0fb2605a160cba5.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agokbuild: introduce cc-cross-prefix
Sam Ravnborg [Fri, 19 Oct 2007 19:46:01 +0000 (21:46 +0200)]
kbuild: introduce cc-cross-prefix

cc-cross-prefix is useful for the architecture that like
to provide a default CROSS_COMPILE value,
but may have several to select between.

Sample usage:

ifneq ($(SUBARCH),$(ARCH))
        ifeq ($(CROSS_COMPILE),)
               CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
        endif
endif

Actual usage by the different archs will taken care of later.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
Linus Torvalds [Fri, 19 Oct 2007 19:07:03 +0000 (12:07 -0700)]
Merge git://git./linux/kernel/git/mingo/linux-2.6-sched

* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
  sched: fix guest time accounting going faster than user time accounting

17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Fri, 19 Oct 2007 19:01:22 +0000 (12:01 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Delete totally outdated Documentation/mips/time.README
  [MIPS] Kill duplicated setup_irq() for cp0 timer
  [MIPS] Sibyte: Finish conversion to modern time APIs.
  [MIPS] time: Helpers to compute clocksource/event shift and mult values.
  [MIPS] SMTC: Build fix.
  [MIPS] time: Delete dead code.
  [MIPS] MIPSsim: Strip defconfig file to the bones.

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Fri, 19 Oct 2007 19:00:58 +0000 (12:00 -0700)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (51 commits)
  [CIFS] log better errors on failed mounts
  [CIFS] Return better error when server requires signing but client forbids
  [CIFS] fix typo
  [CIFS] acl support part 4
  [CIFS] Fix minor problems noticed by scan
  [CIFS] fix bad handling of EAGAIN error on kernel_recvmsg in cifs_demultiplex_thread
  [CIFS] build break
  [CIFS] endian fixes
  [CIFS] endian fixes in new acl code
  [CIFS] Fix some endianness problems in new acl code
  [CIFS] missing #endif from a previous patch
  [CIFS] formatting fixes
  [CIFS] Break up unicode_sessetup string functions
  [CIFS] parse server_GUID in SPNEGO negProt response
  [CIFS]
  [CIFS] Fix endian conversion problem in posix mkdir
  [CIFS] fix build break when lanman not enabled
  [CIFS] remove two sparse warnings
  [CIFS] remove compile warnings when debug disabled
  [CIFS] CIFS ACL support part 3
  ...

17 years agoMerge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86
Linus Torvalds [Fri, 19 Oct 2007 18:57:05 +0000 (11:57 -0700)]
Merge ssh:///linux/kernel/git/tglx/linux-2.6-x86

* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86:
  x86: fix global_flush_tlb() bug

17 years agoMerge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
Linus Torvalds [Fri, 19 Oct 2007 18:55:50 +0000 (11:55 -0700)]
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6

* 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
  [XFS] cleanup fid types mess
  [XFS] fixups after behavior removal merge into mainline git

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 19 Oct 2007 18:54:39 +0000 (11:54 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NET]: Fix possible dev_deactivate race condition
  [INET]: Justification for local port range robustness.
  [PACKET]: Kill unused pg_vec_endpage() function
  [NET]: QoS/Sched as menuconfig
  [NET]: Fix bug in sk_filter race cures.
  [PATCH] mac80211: make ieee802_11_parse_elems return void