pandora-kernel.git
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:50:40 +0000 (17:50 -0700)]
Merge git://git./linux/kernel/git/gregkh/pci-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (22 commits)
  PCI Hotplug: move pci_hotplug.h to include/linux/
  change pci hotplug subsystem maintainer to Kristen
  PCI: optionally sort device lists breadth-first
  cpcihp_generic: prevent loading without "bridge" parameter
  pci: Additional search functions
  PCI: quirks: switch quirks code offender to use pci_get API
  PCI: Update MSI-HOWTO.txt according to pci_msi_supported()
  PCI: Improve pci_msi_supported() comments
  PCI hotplug: ioremap balanced with iounmap
  shpchp: remove unnecessary cmd_busy member from struct controller
  shpchp: fix command completion check
  pci: Stamp out pci_find_* usage in fakephp
  PCI: fix pcie_portdrv_restore_config undefined without CONFIG_PM error
  Fix DMA resource allocation in ACPIPnP
  PCI: Turn pci_fixup_video into generic for embedded VGA
  PCI: add ICH7/8 ACPI/GPIO io resource quirks
  PCI: pcie-check-and-return-bus_register-errors fix
  PCI: VIA IRQ quirk behaviour change
  pciehp: Remove unnecessary check in pciehp_ctrl.c
  pciehp - add missing locking
  ...

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:50:16 +0000 (17:50 -0700)]
Merge git://git./linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  driver core: kmalloc() failure check in driver_probe_device
  Driver core: bus: remove indentation level
  Driver core: Don't ignore error returns from probing
  Driver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename()
  driver core fixes: sysfs_create_group() retval in topology.c
  driver core fixes: device_create_file() retval check in dmapool.c
  driver core fixes: device_add() cleanup on error
  driver core fixes: bus_add_device() cleanup on error
  driver core fixes: bus_add_attrs() retval check
  driver core fixes: sysfs_create_link() retval check in class.c
  sysfs: update obsolete comment in sysfs_update_file
  sysfs: remove duplicated dput in sysfs_update_file
  HOWTO: bug report addition
  Fix dev_printk() is now GPL-only
  Driver core: plug device probe memory leak
  Documentation: feature-removal-schedule typo

17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:49:42 +0000 (17:49 -0700)]
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] update default configuration
  [S390] cio: update documentation.
  [S390] dasd: clean up timer.
  [S390] Fix pte type checking.
  [S390] monwriter find header logic.
  [S390] cio: sch_no -> schid.sch_no conversion.
  [S390] Wire up epoll_pwait syscall.
  [S390] cio: invalid device operational notification
  [S390] fix vmlinux link when CONFIG_SYSIPC=n

17 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:49:19 +0000 (17:49 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Count resched interrupts
  [IA64] remove unused acpi_kbd_controller_present, acpi_legacy_devices
  [IA64] update sn2_defconfig
  [IA64] reformat pal.S to fit in 80 columns, fix typos
  [IA64] remove unused PAL_CALL_IC_OFF
  [IA64] - Allow IPIs in timer loop
  [IA64] move ioremap/ioremap_nocache under __KERNEL__
  [IA64] perfmon fix for global IRQ fix

17 years agodriver core: kmalloc() failure check in driver_probe_device
Akinobu Mita [Mon, 9 Oct 2006 09:04:30 +0000 (18:04 +0900)]
driver core: kmalloc() failure check in driver_probe_device

driver_probe_device() is missing kmalloc() failure check.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: bus: remove indentation level
Jeff Garzik [Wed, 4 Oct 2006 11:48:03 +0000 (07:48 -0400)]
Driver core: bus: remove indentation level

Before potentially fixing up these functions, this cosmetic change
reduces the indentation level to make the code easier to read and
maintain.

No functional changes at all.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: Don't ignore error returns from probing
Alan Stern [Thu, 5 Oct 2006 21:03:24 +0000 (17:03 -0400)]
Driver core: Don't ignore error returns from probing

This patch (as797) fixes device_add() in the driver core.  It needs to
pay attention when the driver for a new device reports an error.

At the same time, since bus_remove_device() undoes the effects of both
bus_add_device() and bus_attach_device(), it needs to check whether
the bus_attach_device step failed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename()
Jesper Juhl [Thu, 28 Sep 2006 21:56:01 +0000 (23:56 +0200)]
Driver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename()

If kmalloc() fails to allocate space for 'old_symlink_name' in
drivers/base/core.c::device_rename(), then we'll leak 'old_class_name'.

Spotted by the Coverity checker.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core fixes: sysfs_create_group() retval in topology.c
Cornelia Huck [Fri, 22 Sep 2006 09:37:32 +0000 (11:37 +0200)]
driver core fixes: sysfs_create_group() retval in topology.c

Return the return value of sysfs_create_group() in topology_add_dev().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core fixes: device_create_file() retval check in dmapool.c
Cornelia Huck [Fri, 22 Sep 2006 09:37:27 +0000 (11:37 +0200)]
driver core fixes: device_create_file() retval check in dmapool.c

Check for device_create_file() return value in dma_pool_create().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core fixes: device_add() cleanup on error
Cornelia Huck [Fri, 22 Sep 2006 09:37:13 +0000 (11:37 +0200)]
driver core fixes: device_add() cleanup on error

Check for return code of device_create_file() and correct cleanup in
the error case in device_add().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core fixes: bus_add_device() cleanup on error
Cornelia Huck [Fri, 22 Sep 2006 09:37:08 +0000 (11:37 +0200)]
driver core fixes: bus_add_device() cleanup on error

Correct cleanup in the error path of bus_add_device().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core fixes: bus_add_attrs() retval check
Cornelia Huck [Fri, 22 Sep 2006 09:37:04 +0000 (11:37 +0200)]
driver core fixes: bus_add_attrs() retval check

Check return value of bus_add_attrs() in bus_register().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core fixes: sysfs_create_link() retval check in class.c
Cornelia Huck [Fri, 22 Sep 2006 09:37:00 +0000 (11:37 +0200)]
driver core fixes: sysfs_create_link() retval check in class.c

Check for return value of sysfs_create_link() in class_device_add().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agosysfs: update obsolete comment in sysfs_update_file
Hidetoshi Seto [Wed, 20 Sep 2006 07:49:02 +0000 (16:49 +0900)]
sysfs: update obsolete comment in sysfs_update_file

And the obsolete comment should be updated (or totally removed).

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agosysfs: remove duplicated dput in sysfs_update_file
Hidetoshi Seto [Wed, 20 Sep 2006 07:38:00 +0000 (16:38 +0900)]
sysfs: remove duplicated dput in sysfs_update_file

Following function can drops d_count twice against one reference
by lookup_one_len.

<SOURCE>
/**
 * sysfs_update_file - update the modified timestamp on an object attribute.
 * @kobj: object we're acting for.
 * @attr: attribute descriptor.
 */
int sysfs_update_file(struct kobject * kobj, const struct attribute * attr)
{
        struct dentry * dir = kobj->dentry;
        struct dentry * victim;
        int res = -ENOENT;

        mutex_lock(&dir->d_inode->i_mutex);
        victim = lookup_one_len(attr->name, dir, strlen(attr->name));
        if (!IS_ERR(victim)) {
                /* make sure dentry is really there */
                if (victim->d_inode &&
                    (victim->d_parent->d_inode == dir->d_inode)) {
                        victim->d_inode->i_mtime = CURRENT_TIME;
                        fsnotify_modify(victim);

                        /**
                         * Drop reference from initial sysfs_get_dentry().
                         */
                        dput(victim);
                        res = 0;
                } else
                        d_drop(victim);

                /**
                 * Drop the reference acquired from sysfs_get_dentry() above.
                 */
                dput(victim);
        }
        mutex_unlock(&dir->d_inode->i_mutex);

        return res;
}
</SOURCE>

PCI-hotplug (drivers/pci/hotplug/pci_hotplug_core.c) is only user of
this function. I confirmed that dentry of /sys/bus/pci/slots/XXX/*
have negative d_count value.

This patch removes unnecessary dput().

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Acked-by: Maneesh Soni <maneesh@in.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoHOWTO: bug report addition
Diego Calleja [Thu, 21 Sep 2006 20:37:10 +0000 (22:37 +0200)]
HOWTO: bug report addition

I suspect that not many people is subscribed to the bugzilla mailing list,
not surprising since the URLs doesn't seem to be in the tree :)

After fixing my english, I wonder if the following patch could be applied...

Signed-off-by: Diego Calleja <diegocg@gmail.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoFix dev_printk() is now GPL-only
Matthew Wilcox [Sun, 24 Sep 2006 05:35:04 +0000 (23:35 -0600)]
Fix dev_printk() is now GPL-only

Make dev_printk usable from non-GPL modules again

dev_printk now calls dev_driver_string.  We want even proprietary modules
to be calling dev_printk, so the export of dev_driver_string needs to be
non-GPL-only.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: plug device probe memory leak
Duncan Sands [Wed, 27 Sep 2006 21:38:08 +0000 (23:38 +0200)]
Driver core: plug device probe memory leak

Make sure data is freed if the kthread fails to start.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDocumentation: feature-removal-schedule typo
Dominik Brodowski [Sun, 1 Oct 2006 02:41:43 +0000 (22:41 -0400)]
Documentation: feature-removal-schedule typo

Fix typo in newly added feature remove schedule item.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI Hotplug: move pci_hotplug.h to include/linux/
Greg Kroah-Hartman [Sat, 14 Oct 2006 03:05:19 +0000 (20:05 -0700)]
PCI Hotplug: move pci_hotplug.h to include/linux/

This makes it possible to build pci hotplug drivers outside of the main
kernel tree, and Sam keeps telling me to move local header files to
their proper places...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agochange pci hotplug subsystem maintainer to Kristen
Kristen Carlson Accardi [Fri, 29 Sep 2006 17:30:27 +0000 (10:30 -0700)]
change pci hotplug subsystem maintainer to Kristen

Here's a patch adding me to the maintainers file for the pci
hotplug subsystem, as we discussed.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: optionally sort device lists breadth-first
Matt Domsch [Fri, 29 Sep 2006 20:23:23 +0000 (15:23 -0500)]
PCI: optionally sort device lists breadth-first

Problem:
New Dell PowerEdge servers have 2 embedded ethernet ports, which are
labeled NIC1 and NIC2 on the chassis, in the BIOS setup screens, and
in the printed documentation.  Assuming no other add-in ethernet ports
in the system, Linux 2.4 kernels name these eth0 and eth1
respectively.  Many people have come to expect this naming.  Linux 2.6
kernels name these eth1 and eth0 respectively (backwards from
expectations).  I also have reports that various Sun and HP servers
have similar behavior.

Root cause:
Linux 2.4 kernels walk the pci_devices list, which happens to be
sorted in breadth-first order (or pcbios_find_device order on i386,
which most often is breadth-first also).  2.6 kernels have both the
pci_devices list and the pci_bus_type.klist_devices list, the latter
is what is walked at driver load time to match the pci_id tables; this
klist happens to be in depth-first order.

On systems where, for physical routing reasons, NIC1 appears on a
lower bus number than NIC2, but NIC2's bridge is discovered first in
the depth-first ordering, NIC2 will be discovered before NIC1.  If the
list were sorted breadth-first, NIC1 would be discovered before NIC2.

A PowerEdge 1955 system has the following topology which easily
exhibits the difference between depth-first and breadth-first device
lists.

-[0000:00]-+-00.0  Intel Corporation 5000P Chipset Memory Controller Hub
           +-02.0-[0000:03-08]--+-00.0-[0000:04-07]--+-00.0-[0000:05-06]----00.0-[0000:06]----00.0  Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (labeled NIC2, 2.4 kernel name eth1, 2.6 kernel name eth0)
           +-1c.0-[0000:01-02]----00.0-[0000:02]----00.0  Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (labeled NIC1, 2.4 kernel name eth0, 2.6 kernel name eth1)

Other factors, such as device driver load order and the presence of
PCI slots at various points in the bus hierarchy further complicate
this problem; I'm not trying to solve those here, just restore the
device order, and thus basic behavior, that 2.4 kernels had.

Solution:

The solution can come in multiple steps.

Suggested fix #1: kernel
Patch below optionally sorts the two device lists into breadth-first
ordering to maintain compatibility with 2.4 kernels.  It adds two new
command line options:
  pci=bfsort
  pci=nobfsort
to force the sort order, or not, as you wish.  It also adds DMI checks
for the specific Dell systems which exhibit "backwards" ordering, to
make them "right".

Suggested fix #2: udev rules from userland
Many people also have the expectation that embedded NICs are always
discovered before add-in NICs (which this patch does not try to do).
Using the PCI IRQ Routing Table provided by system BIOS, it's easy to
determine which PCI devices are embedded, or if add-in, which PCI slot
they're in.  I'm working on a tool that would allow udev to name
ethernet devices in ascending embedded, slot 1 .. slot N order,
subsort by PCI bus/dev/fn breadth-first.  It'll be possible to use it
independent of udev as well for those distributions that don't use
udev in their installers.

Suggested fix #3: system board routing rules
One can constrain the system board layout to put NIC1 ahead of NIC2
regardless of breadth-first or depth-first discovery order.  This adds
a significant level of complexity to board routing, and may not be
possible in all instances (witness the above systems from several
major manufacturers).  I don't want to encourage this particular train
of thought too far, at the expense of not doing #1 or #2 above.

Feedback appreciated.  Patch tested on a Dell PowerEdge 1955 blade
with 2.6.18.

You'll also note I took some liberty and temporarily break the klist
abstraction to simplify and speed up the sort algorithm.  I think
that's both safe and appropriate in this instance.

Signed-off-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agocpcihp_generic: prevent loading without "bridge" parameter
Akinobu Mita [Fri, 13 Oct 2006 18:07:30 +0000 (03:07 +0900)]
cpcihp_generic: prevent loading without "bridge" parameter

cpcihp_generic module requires configured "bridge" module parameter.
But it can be loaded successfully without that parameter.
Because module init call ends up returning positive value.

This patch prevents from loading without setting "bridge" module parameter.

Signed-off-by: Akinbou Mita <akinobu.mita@gmail.com>
Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agopci: Additional search functions
Alan Cox [Mon, 16 Oct 2006 23:20:21 +0000 (16:20 -0700)]
pci: Additional search functions

In order to finish converting to pci_get_* interfaces we need to add a couple
of bits of missing functionaility

pci_get_bus_and_slot() provides the equivalent to pci_find_slot()
(pci_get_slot is already taken as a name for something similar but not the
same)

pci_get_device_reverse() is the equivalent of pci_find_device_reverse but
refcounting

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: quirks: switch quirks code offender to use pci_get API
Alan Cox [Tue, 10 Oct 2006 21:39:00 +0000 (14:39 -0700)]
PCI: quirks: switch quirks code offender to use pci_get API

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: Update MSI-HOWTO.txt according to pci_msi_supported()
Brice Goglin [Thu, 5 Oct 2006 08:24:42 +0000 (10:24 +0200)]
PCI: Update MSI-HOWTO.txt according to pci_msi_supported()

Update MSI-HOWTO.txt according to pci_msi_supported().

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: Improve pci_msi_supported() comments
Brice Goglin [Thu, 5 Oct 2006 08:24:31 +0000 (10:24 +0200)]
PCI: Improve pci_msi_supported() comments

Improve pci_msi_supported() comments.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI hotplug: ioremap balanced with iounmap
Amol Lad [Thu, 5 Oct 2006 06:37:32 +0000 (12:07 +0530)]
PCI hotplug: ioremap balanced with iounmap

1. ioremap must be balanced by an iounmap and failing to do so can
   result in a memory leak.
2. Handle return value correctly

Tested (compilation only) with:
- allmodconfig

Signed-off-by: Amol Lad <amol@verismonetworks.com>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoshpchp: remove unnecessary cmd_busy member from struct controller
Kenji Kaneshige [Thu, 28 Sep 2006 22:51:36 +0000 (15:51 -0700)]
shpchp: remove unnecessary cmd_busy member from struct controller

This patch removes unnecessary cmd_busy member from struct
controller. Read command status register instead of using cmd_busy.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoshpchp: fix command completion check
Kenji Kaneshige [Thu, 28 Sep 2006 22:51:21 +0000 (15:51 -0700)]
shpchp: fix command completion check

This patch fixes the problem that shpchp driver could mis-detect
command failures if the system was under heavy load.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agopci: Stamp out pci_find_* usage in fakephp
Alan Cox [Fri, 29 Sep 2006 17:36:15 +0000 (18:36 +0100)]
pci: Stamp out pci_find_* usage in fakephp

pci_find is not hotplug safe, so it really doesn't want to be in an
actual hotplug driver either.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: fix pcie_portdrv_restore_config undefined without CONFIG_PM error
Zhang, Yanmin [Thu, 28 Sep 2006 06:35:59 +0000 (14:35 +0800)]
PCI: fix pcie_portdrv_restore_config undefined without CONFIG_PM error

On Thu, 2006-09-28 at 03:42, Olaf Hering wrote:
> PCI-Express AER implemetation: pcie_portdrv error handler
>
> This patch breaks if CONFIG_PM is not enabled,
> pcie_portdrv_restore_config() will be undefined.
I move the definition of pcie_portdrv_restore_config
out of CONFIG_PM.

Below patch is against 2.6.18-mm1. Could you try it?

Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoFix DMA resource allocation in ACPIPnP
Vojtech Pavlik [Fri, 7 Apr 2006 18:00:27 +0000 (20:00 +0200)]
Fix DMA resource allocation in ACPIPnP

The ACPIPnP implementation had the understanding of Linux resource flags very
wrong, resulting in a nonfunctional implementation of DMA resource
allocation.

This was usually not a problem, since almost no on-board PnP devices use ISA
DMA, with the exception of ECP parallel ports. Even with that, parallel port
DMA is preconfigured by the BIOS, so this routine isn't normally called.

Except in the case where somebody does 'rmmod parport_pc; modprobe
parport_pc', where the rmmod case disables the ECP parallel port resources,
and they need to be enabled again to initialize the module. This didn't
work, resulting in a non-printing printer.

The application doing exactly the above to force reprobing of printers is
the YaST printer module. Thus without this fix YaST wedged the printer when
configuring it, and was not able to print a test page.

Reported-by: Ralf Flaxa <rf@suse.de>
Reproduced-by: Jiri Dluhos <jdluhos@suse.cz>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: Turn pci_fixup_video into generic for embedded VGA
eiichiro.oiwa.nm@hitachi.com [Thu, 28 Sep 2006 04:55:47 +0000 (13:55 +0900)]
PCI: Turn pci_fixup_video into generic for embedded VGA

pci_fixup_video turns into generic code because there are many platforms need this fixup
for embedded VGA as well as x86. The Video BIOS integrates into System BIOS on a machine
has embedded VGA although embedded VGA generally don't have PCI ROM. As a result,
embedded VGA need the way that the sysfs rom points to the Video BIOS of System
RAM (0xC0000). PCI-to-PCI Bridge Architecture specification describes the condition whether
or not PCI ROM forwards VGA compatible memory address. fixup_video suits this specification.
Although the Video ROM generally implements in x86 code regardless of platform, some
application such as X Window System can run this code by dosemu86. Therefore,
pci_fixup_video should turn into generic code.

Signed-off-by: Eiichiro Oiwa <eiichiro.oiwa.nm@hitachi.com>
Acked-by: Alan Cox <alan@redhat.com>
Acked-by: Jesse Barnes <jesse.barnes@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: add ICH7/8 ACPI/GPIO io resource quirks
Daniel Ritz [Mon, 25 Sep 2006 23:52:21 +0000 (16:52 -0700)]
PCI: add ICH7/8 ACPI/GPIO io resource quirks

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: pcie-check-and-return-bus_register-errors fix
Andrew Morton [Mon, 25 Sep 2006 23:52:20 +0000 (16:52 -0700)]
PCI: pcie-check-and-return-bus_register-errors fix

__must_check goes on the declaration, not the definition.

Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: VIA IRQ quirk behaviour change
Daniel Drake [Mon, 25 Sep 2006 23:52:19 +0000 (16:52 -0700)]
PCI: VIA IRQ quirk behaviour change

The most recent VIA IRQ quirk changes have broken various VIA devices for
some users.  We are not able to add these devices to the blacklist as they
are also available in PCI-card form, and running the quirk on these devices
brings us back to square one (running the VIA quirk on non-VIA boards where
the quirk is not needed).

This patch, based on suggestions from Sergey Vlasov, implements a scheme
similar to but more restrictive than the scheme we had in 2.6.16 and
earlier.  It runs the quirk on all VIA hardware, but *only* if a VIA
southbridge was detected on the system.

To further reduce the amount of quirked devices, this patch includes a
change suggested by Linus at http://lkml.org/lkml/2005/9/27/113 This
ensures that devices bound to non-legacy IO-APIC interrupt lines are not
quirked.  We have made one change to Linus' suggestion: we do a comparison
of ">15" rather than ">=15", as 15 is still in the legacy interrupt range.

There is still a downside to this patch: if the user inserts a VIA PCI card
into a VIA-based motherboard, in some circumstances the quirk will also run
on the VIA PCI card.  This corner case is hard to avoid.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agopciehp: Remove unnecessary check in pciehp_ctrl.c
Eric Sesterhenn [Sun, 24 Sep 2006 22:56:53 +0000 (00:56 +0200)]
pciehp: Remove unnecessary check in pciehp_ctrl.c

this was spotted by coverity (cid #819). We dereference p_slot
earlier in the function, and i found no way it could become NULL
anywhere.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agopciehp - add missing locking
Kenji Kaneshige [Fri, 22 Sep 2006 17:17:29 +0000 (10:17 -0700)]
pciehp - add missing locking

This patch fixes the problem that system will panic if multiple power
on/off operations are issued to the same slot in parallel. This
problem can be easily reproduced by commands below.

    # while true; do echo 1 > power; echo 0 > power; done &
    # while true; do echo 1 > power; echo 0 > power; done &

The cause is lack of locking for enable/disable operations. This patch
fixes this problem.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agopciehp: fix improper info messages
Kenji Kaneshige [Fri, 22 Sep 2006 17:17:10 +0000 (10:17 -0700)]
pciehp: fix improper info messages

The slot number displayed in info messages would cause a confusion
because those are displayed in several ways (decimal and hex).
Furthermore, those slot number is not same as slot name (directory
name). This patch fixes those improper info messages.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoshpchp: fix shpchp_wait_cmd in poll
Kenji Kaneshige [Fri, 22 Sep 2006 19:52:37 +0000 (12:52 -0700)]
shpchp: fix shpchp_wait_cmd in poll

This patch fixes the problem that issuing SHPC command in poll mode
always fails with the following message.

        shpchp: Command not completed in 2000 msec

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years ago[S390] update default configuration
Martin Schwidefsky [Wed, 18 Oct 2006 16:30:59 +0000 (18:30 +0200)]
[S390] update default configuration

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: update documentation.
Cornelia Huck [Wed, 18 Oct 2006 16:30:55 +0000 (18:30 +0200)]
[S390] cio: update documentation.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] dasd: clean up timer.
Stefan Weinhuber [Wed, 18 Oct 2006 16:30:53 +0000 (18:30 +0200)]
[S390] dasd: clean up timer.

Clean up dasd timer when when a dasd device is set offline.

Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Fix pte type checking.
Martin Schwidefsky [Wed, 18 Oct 2006 16:30:51 +0000 (18:30 +0200)]
[S390] Fix pte type checking.

handle_pte_fault uses pte_present, pte_none and pte_file to find out
the type of a pte. That is done without holding the page table lock.
This clashes with the way how ptep_clear_flush removes active page
table entries from the system. First the ipte instruction is used
to invalidate the pte and remove all plt entries for the page. The
ipte sets the hardware invalid bit without changing any other bit.
After the ipte finished the pte is cleared. A concurrent fault can
observe the the previously valid pte with the invalid bit set. With
the current encoding of the different pte types an invalidated
read-only pte can be misinterpreted as a swap-pte.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] monwriter find header logic.
Melissa Howland [Wed, 18 Oct 2006 16:30:49 +0000 (18:30 +0200)]
[S390] monwriter find header logic.

Fix logic for finding matching buffers.

Signed-off-by: Melissa Howland <melissah@us.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: sch_no -> schid.sch_no conversion.
Cornelia Huck [Wed, 18 Oct 2006 16:30:47 +0000 (18:30 +0200)]
[S390] cio: sch_no -> schid.sch_no conversion.

Overlooked one sch_no -> schid.sch_no conversion.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Wire up epoll_pwait syscall.
Heiko Carstens [Wed, 18 Oct 2006 16:30:45 +0000 (18:30 +0200)]
[S390] Wire up epoll_pwait syscall.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cio: invalid device operational notification
Peter Oberparleiter [Wed, 18 Oct 2006 16:30:43 +0000 (18:30 +0200)]
[S390] cio: invalid device operational notification

Reset device operational notification flag when channel paths become
unavailable during path verification.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] fix vmlinux link when CONFIG_SYSIPC=n
Cedric Le Goater [Wed, 18 Oct 2006 16:30:41 +0000 (18:30 +0200)]
[S390] fix vmlinux link when CONFIG_SYSIPC=n

Fix the following compile error:

  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arch/s390/kernel/built-in.o(.text+0xdba4): In function `sys32_ipc':
: undefined reference to `compat_sys_semtimedop'
arch/s390/kernel/built-in.o(.text+0xdbee): In function `sys32_ipc':
: undefined reference to `compat_sys_semctl'
arch/s390/kernel/built-in.o(.text+0xdc08): In function `sys32_ipc':
: undefined reference to `compat_sys_msgsnd'
arch/s390/kernel/built-in.o(.text+0xdc30): In function `sys32_ipc':
: undefined reference to `compat_sys_msgrcv'
arch/s390/kernel/built-in.o(.text+0xdc58): In function `sys32_ipc':
: undefined reference to `compat_sys_msgctl'
arch/s390/kernel/built-in.o(.text+0xdc76): In function `sys32_ipc':
: undefined reference to `compat_sys_shmat'
arch/s390/kernel/built-in.o(.text+0xdcb0): In function `sys32_ipc':
: undefined reference to `compat_sys_shmctl'
make: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[SPARC64]: Update defconfig.
David S. Miller [Wed, 18 Oct 2006 02:29:41 +0000 (19:29 -0700)]
[SPARC64]: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC]: Sparc compilation fix with floppy enabled
Krzysztof Helt [Wed, 18 Oct 2006 02:23:23 +0000 (19:23 -0700)]
[SPARC]: Sparc compilation fix with floppy enabled

This patch fixes a typo to make kernel compilable when floppy driver
for Sparc is build.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC]: Add sparc profiling support
Martin Habets [Wed, 18 Oct 2006 02:21:48 +0000 (19:21 -0700)]
[SPARC]: Add sparc profiling support

This patch adds profiling support to the sparc architecture. It is a
copy of the sparc64 implementation.

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC] {bbc_,}envctrl: Use call_usermodehelper().
David S. Miller [Wed, 18 Oct 2006 02:19:08 +0000 (19:19 -0700)]
[SPARC] {bbc_,}envctrl: Use call_usermodehelper().

We should not be calling kernel_execve() directly and this
causes module build failures because kernel_execve() is not
exported to modules.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC]: Fix some section mismatch warnings in sparc drivers.
Ben Collins [Wed, 18 Oct 2006 02:11:31 +0000 (19:11 -0700)]
[SPARC]: Fix some section mismatch warnings in sparc drivers.

Signed-off-by: Ben Collins <ben.collins@ubuntu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix PCI memory space root resource on Hummingbird.
David S. Miller [Wed, 18 Oct 2006 02:04:44 +0000 (19:04 -0700)]
[SPARC64]: Fix PCI memory space root resource on Hummingbird.

For Hummingbird PCI controllers, we should create the root
PCI memory space resource as the full 4GB area, and then
allocate the IOMMU DMA translation window out of there.

The old code just assumed that the IOMMU DMA translation base
to the top of the 4GB area was unusable.  This is not true on
many systems such as SB100 and SB150, where the IOMMU DMA
translation window sits at 0xc0000000->0xdfffffff.

So what would happen is that any device mapped by the firmware
at the top section 0xe0000000->0xffffffff would get remapped
by Linux somewhere else leading to all kinds of problems and
boot failures.

While we're here, report more cases of OBP resource assignment
conflicts.  The only truly valid ones are ROM resource conflicts.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC]: Kill BOOTME_SINGLE.
David S. Miller [Tue, 17 Oct 2006 07:24:14 +0000 (00:24 -0700)]
[SPARC]: Kill BOOTME_SINGLE.

Unused, but still allow the '-s' boot option to be passed
down to init.

Based upon patches by Martin Habets.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoFix USB gadget net2280.c compile
Linus Torvalds [Wed, 18 Oct 2006 01:03:33 +0000 (18:03 -0700)]
Fix USB gadget net2280.c compile

It would fail the compile due to the newly added error checking testing
a bad macro for a "return value" unless USB_GADGET_DEBUG_FILES was
enabled.

Pointed out by Stephen Hemminger.

Acked-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Tue, 17 Oct 2006 22:05:22 +0000 (15:05 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (47 commits)
  USB: Add device id for Sierra Wireless MC8755
  USB: cleanup sierra wireless driver a bit
  USB: Sierra Wireless driver update
  USB: ftdi_sio whitespace fixes
  USB-SERIAL:cp2101 Add new device ID
  USB/gadget/net2280: handle sysfs errors
  usbtouchscreen: fix data reading for ITM touchscreens
  UEAGLE: fix ueagle-atm Oops
  USB: xpad: dance pad support
  USB: input: extract() and implement() are bit field manipulation routines
  USB: Memory leak in drivers/usb/serial/airprime.c
  USB Storage: unusual_devs.h entry for Sony Ericsson P990i
  USB: fix usbatm tiny race
  USB: unusual_devs entry for Nokia 6234
  USB: mos7840.c: fix a check-after-dereference
  USB: ftdi-elan.c: remove dead code
  USB: Mitsumi USB FDD 061M: UNUSUAL_DEV multilun fix
  USB: fix dereference in drivers/usb/misc/adutux.c
  USB: add USB serial mos7720 driver
  USB: move trancevibrator.c to the proper usb directory
  ...

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 17 Oct 2006 22:04:45 +0000 (15:04 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/mthca: Use mmiowb after doorbell ring
  IB/ipath: Initialize diagpkt file on device init only
  RDMA/amso1100: Fix a NULL dereference in error path
  RDMA/amso1100: pci_module_init() conversion

17 years ago[IA64] Count resched interrupts
Jack Steiner [Mon, 16 Oct 2006 21:17:43 +0000 (16:17 -0500)]
[IA64] Count resched interrupts

Count the number of "resched" interrupts that each cpu receives.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] remove unused acpi_kbd_controller_present, acpi_legacy_devices
Bjorn Helgaas [Fri, 29 Sep 2006 18:58:31 +0000 (12:58 -0600)]
[IA64] remove unused acpi_kbd_controller_present, acpi_legacy_devices

Nobody uses either one anymore.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] update sn2_defconfig
Jes Sorensen [Mon, 9 Oct 2006 09:24:57 +0000 (05:24 -0400)]
[IA64] update sn2_defconfig

The current sn2_defconfig is obsolete, in particular the recent ATA
changes are a pain, so here's a patch to get things in sync ... at
least for a day or two :)

Update sn_defconfig to match current community kernel tree.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] reformat pal.S to fit in 80 columns, fix typos
Bjorn Helgaas [Thu, 12 Oct 2006 22:21:17 +0000 (16:21 -0600)]
[IA64] reformat pal.S to fit in 80 columns, fix typos

Reformat to fit in 80 columns.  Fix a couple typos.  Remove
a couple unused labels.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] remove unused PAL_CALL_IC_OFF
Bjorn Helgaas [Thu, 12 Oct 2006 22:20:59 +0000 (16:20 -0600)]
[IA64] remove unused PAL_CALL_IC_OFF

Linux maps PAL instructions with an ITR, but uses a DTC for PAL data.
Section 11.10.2.1.3, "Making PAL Procedures Calls in Physical or Virtual
Mode," of the SDM (rev 2.2), says we must therefore make all PAL calls
with PSR.ic = 1 so that Linux can handle any TLB faults.

PAL_CALL_IC_OFF is currently unused, and as long as we use the ITR + DTC
strategy, we can't use it.  So remove it.  I also removed the code in
ia64_pal_call_static() that conditionally cleared PSR.ic.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] - Allow IPIs in timer loop
Jack Steiner [Mon, 16 Oct 2006 17:56:54 +0000 (12:56 -0500)]
[IA64] - Allow IPIs in timer loop

Allow pending IPIs to interrupt a timer interrupt that is looping
in the do_timer() "while" loop in timer_interrupt(). (Interrupts are
allowed at only 1 spot in the code).

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] move ioremap/ioremap_nocache under __KERNEL__
Aron Griffis [Tue, 17 Oct 2006 04:28:15 +0000 (00:28 -0400)]
[IA64] move ioremap/ioremap_nocache under __KERNEL__

I noticed these are declared extern outside of __KERNEL__, but surely
they wouldn't be available to userland since they're defined in
ioremap.c.  Am I missing something here?

If I'm right about this, then there's probably a good deal of other
stuff in io.h that could move inside __KERNEL__, but at least this is
a start.

Signed-off-by: Aron Griffis <aron@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years agoUSB: Add device id for Sierra Wireless MC8755
Jan Luebbe [Mon, 16 Oct 2006 22:09:00 +0000 (00:09 +0200)]
USB: Add device id for Sierra Wireless MC8755

Adds the device id used by the UMTS cards in Lenovo X60s notebooks sold
in Europe.

Signed-off-by: Jan Luebbe <jluebbe@lasnet.de>
Cc: Kevin Lloyd <linux@sierrawireless.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: cleanup sierra wireless driver a bit
Greg Kroah-Hartman [Tue, 17 Oct 2006 17:17:58 +0000 (10:17 -0700)]
USB: cleanup sierra wireless driver a bit

This saves over 30 lines and fixes a warning from sparse and allows
debugging to work dynamically like all other usb-serial drivers.

Cc: Kevin Lloyd <linux@sierrawireless.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: Sierra Wireless driver update
Kevin Lloyd [Sat, 14 Oct 2006 06:53:21 +0000 (23:53 -0700)]
USB: Sierra Wireless driver update

The largest feature in this patch is that it adds significant throughput
increase to the Sierra driver and adds support for modem status line
control (e.g. the DTR line). This patch also updates the current sierra.c
driver so that it supports both 3-port Sierra devices and 1-port legacy
devices and removes Sierra's references in other related files (Kconfig and
airprime.c).

Signed-off-by: Kevin Lloyd <linux@sierrawireless.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ftdi_sio whitespace fixes
David Brownell [Fri, 13 Oct 2006 22:57:58 +0000 (15:57 -0700)]
USB: ftdi_sio whitespace fixes

Whitespace fixups for drivers/usb/serial/ftdi_sio.c ...
removing end-of-line whitespace, and space-before-tab.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB-SERIAL:cp2101 Add new device ID
Craig Shelley [Thu, 12 Oct 2006 21:09:56 +0000 (22:09 +0100)]
USB-SERIAL:cp2101 Add new device ID

This patch adds device ID 0xEA61. This is another factory default ID
used by SILabs.

Signed-off-by: Craig Shelley <craig@microtron.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB/gadget/net2280: handle sysfs errors
Jeff Garzik [Thu, 12 Oct 2006 01:50:24 +0000 (21:50 -0400)]
USB/gadget/net2280: handle sysfs errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousbtouchscreen: fix data reading for ITM touchscreens
Daniel Ritz [Wed, 11 Oct 2006 21:40:22 +0000 (23:40 +0200)]
usbtouchscreen: fix data reading for ITM touchscreens

ITM devices seem to report only garbage when not touched. update usbtouchscreen
to do data reading like itmtouch. also fix wrong mask on pressure bits.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUEAGLE: fix ueagle-atm Oops
matthieu castet [Wed, 11 Oct 2006 21:20:56 +0000 (14:20 -0700)]
UEAGLE: fix ueagle-atm Oops

The array of attribute passed to sysfs_create_group() must be
NULL-terminated.

The sysfs entries are created before the start of the modem state machine
to avoid to stop it in case of errors in sysfs creation.  Also
{destroy,create}_fs_entries are removed as they do nothing.

Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: xpad: dance pad support
Dominic Cerquetti [Tue, 10 Oct 2006 21:42:48 +0000 (14:42 -0700)]
USB: xpad: dance pad support

Adds support for dance pads to the xpad driver. Dance pads require the
d-pad to be mapped to four buttons instead of two axes, so that
combinations of up/down and left/right can be hit simultaneously.
Known dance pads are detected, and there is a module parameter added
to default unknown xpad devices to map the d-pad to buttons if this is
desired. (dpad_to_buttons). Minor modifications were made to port the
changes in the original patch to a newer kernel version.

This patch was originally from Dominic Cerquetti originally written
for kernel 2.6.11.4, with minor modifications (API changes for USB,
spelling fixes to the documentation added in the original patch) made
to apply to the current kernel. I have modified Dominic's original
patch per some suggestions from Dmitry Torokhov. (There was nothing
in the patch format description about multiple From: lines, so I
haven't added myself.)

[akpm@osdl.org: cleanups]
Signed-off-by: Adam Buchbinder <adam.buchbinder@gmail.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: input: extract() and implement() are bit field manipulation routines
Grant Grundler [Tue, 10 Oct 2006 21:42:51 +0000 (14:42 -0700)]
USB: input: extract() and implement() are bit field manipulation routines

extract() and implement() have brain damaged attempts to handle 32-bit wide
"fields".

The problem is the index math in the original code didn't clear all the
relevant bits.  (offset >> 5) only compensated for 32-bit index.  We need
(offset >> 6) if we want to use 64-bit loads.

But it was also wrong in that it tried to use quasi-aligned loads.  Ie
"report" was only incremented in multiples of 4 bytes and then the offset
was masked off for values greater than 4 bytes.  The right way is to
pretend "report" points at a byte array.  And offset is then only minor
adjustment for < 8 bits of offset.  "n" (field width) can then be as big as
24 (assuming 32-bit loads) since "offset" will never be bigger than 7.

If someone needs either function to handle more than 24-bits, please
document why - point at a specification or specific USB hid device - in
comments in the code.

extract/implement() are also an eyesore to read.  Please banish whoever
wrote it to read CodingStyle 3 times in a row to a classroom full of 1st
graders armed with rubberbands.  Or just flame them.  Whatever.  Globbing
all the code together on two lines does NOT make it faster and is Just
Wrong.

I've tested this patch on j6000 (dual 750Mhz PA-RISC, 32-bit 2.6.12-rc5).
Kyle McMartin tested on c3000 (up 400Mhz PA-RISC, same kernel).  "p2-mate"
(Peter De Schrijver?) tested on sb1250 (dual core Mips, broadcom "swarm"
eval board).

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: Memory leak in drivers/usb/serial/airprime.c
Eric Sesterhenn [Tue, 10 Oct 2006 21:42:50 +0000 (14:42 -0700)]
USB: Memory leak in drivers/usb/serial/airprime.c

the commit
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5dda171202f94127e49c12daf780cdae1b4e668b
added a memory leak.  In case we cant allocate an urb, we dont free the
buffer and leak it.  Coverity id #1438

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Acked-by: Andy Gay <andy@andynet.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB Storage: unusual_devs.h entry for Sony Ericsson P990i
Jan Mate [Tue, 10 Oct 2006 21:42:47 +0000 (14:42 -0700)]
USB Storage: unusual_devs.h entry for Sony Ericsson P990i

USB Storage: this patch adds support for Sony Ericsson P990i

Signed-off-by: Jan Mate <mate@fiit.stuba.sk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix usbatm tiny race
Andrew Morton [Tue, 10 Oct 2006 21:42:46 +0000 (14:42 -0700)]
USB: fix usbatm tiny race

ia64:

drivers/usb/atm/usbatm.c: In function `usbatm_do_heavy_init':
drivers/usb/atm/usbatm.c:1004: warning: implicit declaration of function `get_current'
drivers/usb/atm/usbatm.c:1004: error: invalid type argument of `->'

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: unusual_devs entry for Nokia 6234
Alan Stern [Fri, 13 Oct 2006 13:59:17 +0000 (09:59 -0400)]
USB: unusual_devs entry for Nokia 6234

This patch (as803) adds an unusual_devs entry for the Nokia 6234
mobile phone.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: mos7840.c: fix a check-after-dereference
Adrian Bunk [Sun, 8 Oct 2006 23:16:32 +0000 (01:16 +0200)]
USB: mos7840.c: fix a check-after-dereference

This patch fixes an obvious check-after-dereference spotted by the
Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ftdi-elan.c: remove dead code
Adrian Bunk [Sun, 8 Oct 2006 23:16:24 +0000 (01:16 +0200)]
USB: ftdi-elan.c: remove dead code

The Coverity checker spotted this obviously dead code.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: Mitsumi USB FDD 061M: UNUSUAL_DEV multilun fix
Tobias Lorenz [Mon, 9 Oct 2006 05:56:40 +0000 (22:56 -0700)]
USB: Mitsumi USB FDD 061M: UNUSUAL_DEV multilun fix

From: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix dereference in drivers/usb/misc/adutux.c
Eric Sesterhenn [Thu, 5 Oct 2006 22:09:29 +0000 (00:09 +0200)]
USB: fix dereference in drivers/usb/misc/adutux.c

in two of the error cases, dev is still NULL,
and we dereference it. Spotted by coverity (cid#1428, 1429)

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: add USB serial mos7720 driver
Greg Kroah-Hartman [Tue, 9 Apr 2002 19:14:34 +0000 (12:14 -0700)]
USB: add USB serial mos7720 driver

Add support for Moschip 7720 USB dual port usb to serial device.

This driver is originally based on the drivers/usb/io_edgeport.c driver.

Cleaned up and forward ported by me.

Cc: VijayaKumar <vijaykumar@aspirecom.net>
Cc: AjayKumar <ajay@aspirecom.net>
Cc: Gurudeva <gurudev@aspirecom.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: move trancevibrator.c to the proper usb directory
Greg Kroah-Hartman [Tue, 10 Oct 2006 20:47:35 +0000 (13:47 -0700)]
USB: move trancevibrator.c to the proper usb directory

It's not a input driver, so it doesn't belong in the input directory.

Cc: Sam Hocevar <sam@zoy.org>
Cc: Dmitry Torokhov <dtor@insightbb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousbnet: add a mutex around phy register access
Arnd Bergmann [Sun, 8 Oct 2006 22:08:02 +0000 (00:08 +0200)]
usbnet: add a mutex around phy register access

When working on the mcs7830, I noticed the need for a mutex in its
mdio_read/mdio_write functions. A related problem seems to be present
in the asix driver in the respective functions.

This introduces a mutex in the common usbnet driver and uses it
from the two hardware specific drivers.

Acked-by: David Hollis <dhollis@davehollis.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousbnet: improve generic ethtool support
Arnd Bergmann [Sun, 8 Oct 2006 22:08:01 +0000 (00:08 +0200)]
usbnet: improve generic ethtool support

This adds generic support for the ethtool commands get_settings,
set_settings, get_link and nway_reset to usbnet. These are now
implemented using mii functions when a low-level driver supports
mdio_read/mdio_write and does not override the usbnet ethtool
commands with its own.

Currently, this applies to the asix and the mcs7830 drivers.
I have tested it on mcs7830.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: David Hollis <dhollis@davehollis.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: driver for mcs7830 (aka DeLOCK) USB ethernet adapter
Arnd Bergmann [Sun, 8 Oct 2006 22:08:00 +0000 (00:08 +0200)]
USB: driver for mcs7830 (aka DeLOCK) USB ethernet adapter

This driver adds support for the DeLOCK USB ethernet adapter
and potentially others based on the MosChip MCS7830 chip.

It is based on the usbnet and asix drivers as well as the
original device driver provided by MosChip, which in turn
was based on the usbnet driver.

It has been tested successfully on an OHCI, but interestingly
there seems to be a problem with the mcs7830 when connected to
the ICH6/EHCI in my thinkpad: it keeps receiving lots of
broken packets in the RX interrupt. The problem goes away when
I'm using an active USB hub, so I assume it's not related to
the device driver, but rather to the hardware.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousb devio: handle class_device_create() error
Akinobu Mita [Mon, 9 Oct 2006 09:09:33 +0000 (18:09 +0900)]
usb devio: handle class_device_create() error

This patch adds missing class_device_create() error check,
and makes notifier return NOTIFY_BAD.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: drivers/usb/net/*: use BUILD_BUG_ON
Alexey Dobriyan [Sun, 8 Oct 2006 12:02:00 +0000 (16:02 +0400)]
USB: drivers/usb/net/*: use BUILD_BUG_ON

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousbcore: fix endpoint device creation
Alan Stern [Tue, 10 Oct 2006 15:56:26 +0000 (11:56 -0400)]
usbcore: fix endpoint device creation

This patch (as800) straightens out the USB endpoint class device
creation routine, fixing a refcount bug in the process.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousbcore: fix refcount bug in endpoint removal
Alan Stern [Tue, 10 Oct 2006 15:55:47 +0000 (11:55 -0400)]
usbcore: fix refcount bug in endpoint removal

This patch (as799) fixes a nasty refcount error in the USB endpoint class.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Tue, 17 Oct 2006 21:46:31 +0000 (14:46 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] switch to new pci_get_bus_and_slot API
  [ARM] Update mach-types
  [ARM] Fix Zaurii keyboard/touchscreen drivers
  [ARM] Fix fallout from IRQ regs changes
  [ARM] 3890/1: [Jornada7xx] Addition of MCU commands into jornada720.h
  [ARM] 3889/1: [Jornada7xx] Addition of correct SDRAM params into cpu-sa1110.c
  [ARM] 3888/1: add pxa27x SSP FSRT register bit definition

17 years agoUHCI: workaround for Asus motherboard
Alan Stern [Tue, 10 Oct 2006 14:54:00 +0000 (10:54 -0400)]
UHCI: workaround for Asus motherboard

This patch (as798) adds a workaround to uhci-hcd.  At least one Asus
motherboard is wired in such a way that any device attached to a
suspended UHCI controller will prevent the system from entering
suspend-to-RAM by immediately waking it up.  The only way around the
problem is to turn the controller off instead of suspending it.

This fixes Bugzilla #6193.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ftdi-elan: fix sparse warnings
Greg Kroah-Hartman [Mon, 9 Oct 2006 19:24:49 +0000 (12:24 -0700)]
USB: ftdi-elan: fix sparse warnings

Deleted some unused code that could do bad things on non-x86 platforms.

Also fixed some minor formatting errors.

Thanks to Al Viro for pointing out the sparse errors.

Cc: Tony Olech <tony.olech@elandigitalsystems.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix suspend support for usblp
Oliver Neukum [Thu, 5 Oct 2006 07:04:11 +0000 (09:04 +0200)]
USB: fix suspend support for usblp

this implements suspend support for usblp. According to the CUPS people
ENODEV will make CUPS retry the job. Thus it is returned in the runtime
case. My printer survives suspend/resume cycles with it.

Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agocxacru: add the ZTE ZXDSL 852
Duncan Sands [Thu, 5 Oct 2006 09:05:50 +0000 (11:05 +0200)]
cxacru: add the ZTE ZXDSL 852

 From http://doc.ubuntu-fr.org/materiel/zxdsl852.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>