aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-12-20PCI: Use pci_find_ht_capability() in drivers/pci/quirks.cMichael Ellerman
Use pci_find_ht_capability() in drivers/pci/quirks.c. I'm pretty sure the logic is unchanged here, but someone please eye-ball it for me. I've changed the message to be a little shorter, it's now: PCI: Found (enabled|disabled) HT MSI mapping on xxxx:xx:xx.x Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20PCI: Add #defines for Hypertransport MSI fieldsMichael Ellerman
Add a few #defines for grabbing and working with the address fields in a HT_CAPTYPE_MSI_MAPPING capability. All from the HT spec v3.00. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20PCI: Use pci_find_ht_capability() in drivers/pci/htirq.cMichael Ellerman
Use pci_find_ht_capability() in drivers/pci/htirq.c Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20PCI: Add pci_find_ht_capability() for finding Hypertransport capabilitiesMichael Ellerman
There are already several places in the kernel that want to search a PCI device for a given Hypertransport capability. Although this is possible using pci_find_capability() etc., it makes sense to encapsulate that logic in a helper - pci_find_ht_capability(). To cater for searching exhaustively for a capability, we also provide pci_find_next_ht_capability(). We also need to cater for the fact that the HT capability fields may be either 3 or 5 bits wide. pci_find_ht_capability() deals with this for you, but callers using the #defines directly must handle that themselves. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20PCI: Create __pci_bus_find_cap_start() from __pci_bus_find_cap()Michael Ellerman
The current implementation of __pci_bus_find_cap() does two things, first it determines the start of the capability chain for the device, and then it trys to find the requested capability. Split these out, so that we can use the two parts independantly in a subsequent patch. Externally visible behaviour should be unchanged. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20pci: Introduce pci_find_presentAlan Cox
This works like pci_dev_present but instead of returning boolean returns the matching pci_device_id entry. This makes it much more useful. Code bloat is basically nil as the old boolean function is rewritten in terms of the new one. This will be used by the updated VIA PCI quirks for one 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>
2006-12-20PCI: pcieport-driver: remove invalid warning messageKenji Kaneshige
The following warning message should not be displayed for devices which don't use an interrupt pin. pcie_portdrv_probe->Dev[XXXX:XXXX] has invalid IRQ. Check vendor BIOS Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20rpaphp: compiler warning cleanupLinas Vepstas
This janitorial patch removes the following annoying compile-time message: drivers/pci/hotplug/rpaphp_slot.c:57: warning: ignoring return value of sfs_create_file declared with attribute warn_unused_result It also fixes a typo, removes some misc crud. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: John Rose <johnrose@us.ibm.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20PCI quirks: remove redundant checkDavid Rientjes
Removes redundant check for dev->subordinate; if it is NULL, the function returns before the patch-affected code region. Signed-off-by: David Rientjes <rientjes@cs.washington.edu> Acked-by: Brice Goglin <brice@myri.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20pci: add class codes for Wireless RF controllersInaky Perez-Gonzalez
pci: add class codes for Wireless RF controllers Add PCI codes to include/linux/pci_ids.h for RF controllers; first batch of these devices seem to be the Ultra-Wide-Band and Wireless USB controllers (WHCI spec). Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20PCI: use /sys/bus/pci/drivers/<driver>/new_id firstRussell King
Unfortunately, the .../new_id feature does not work with the 8250_pci driver. The reason for this comes down to the way .../new_id is implemented. When PCI tries to match a driver to a device, it checks the modules static device ID tables _before_ checking the dynamic new_id tables. When a driver is capable of matching by ID, and falls back to matching by class (as 8250_pci does), this makes it absolutely impossible to specify a board by ID, and as such the correct driver_data value to use with it. Let's say you have a serial board with vendor 0x1234 and device 0x5678. It's class is set to PCI_CLASS_COMMUNICATION_SERIAL. On boot, this card is matched to the 8250_pci driver, which tries to probe it because it matched using the class entry. The driver finds that it is unable to automatically detect the correct settings to use, so it returns -ENODEV. You know that the information the driver needs is to match this card using a device_data value of '7'. So you echo 1234 5678 0 0 0 0 7 into new_id. The kernel attempts to re-bind 8250_pci to this device. However, because it scans the PCI driver tables, it _again_ matches the class entry which has the wrong device_data. It fails. End of story. You can't support the card without rebuilding the kernel (or writing a specific PCI probe module to support it.) So, can we make new_id override the driver-internal PCI ID tables? IOW, like this: From: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: fix to usbfs_snoop logging of user defined control urbsChris Frey
When sending CONTROL URB's using the usual CONTROL ioctl, logging works fine, but when sending them via SUBMITURB, like VMWare does, the control fields are not logged. This patch fixes that. I didn't see any major changes to devio.c recently, so this patch should apply cleanly to even the latest kernel. I can resubmit if it doesn't. From: Chris Frey <cdfrey@foursquare.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc: Additional checksWojtek Kaniewski
This patch performs additional checks in at91_udc, just in case of some spurious interrupts or device enumeration. Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc: Cleanup variables after failure in usb_gadget_register_driver()Wojtek Kaniewski
This patch zeroes some variables when usb_gadget_register_driver() fails. gadgetfs does a dummy registration to get the name of the USB driver and then waits for user-land driver. If someone plugs the cable in the meantime, bad things happen, because at91_udc has been left in inconsistent state. Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc: allow drivers that support high speedWojtek Kaniewski
This patch allows gadget drivers that support high speed (e.g. gadgetfs) to work properly with at91_udc. Fix suggested by Milan Svoboda in http://marc.theaimsgroup.com/?l=linux-usb-devel&m=115822184711817 Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: u132-hcd/ftdi-elan: add support for Option GT 3G Quad cardTony Olech
ELAN's U132 is a USB to CardBus OHCI controller adapter, designed specifically for CardBus 3G data cards to function in machines without a CardBus slot. The "ftdi-elan" module is a USB client driver, that detects a supported CardBus OHCI controller plugged into the U132 adapter and thereafter provides the conduit for for access by the "u132-hcd" module. The "u132-hcd" module is a (cut-down OHCI) host controller that supports a single OHCI function of the CardBus card inserted into the U132 adapter. The problem with the initial implementation is that when the CardBus card inserted into the U132 adapter has multiple functions (and a CardBus card can support up to 4 functions), it was the first function that was arbitrarily choosen. The first batch of 3G cards tested, like the Merlin Qualcomm V620, have two functions each supporting a seperate USB OHCI host controller, of which it was that first function that is wired up to the 3G modem. Then along comes the Vodafone Mobile Connect 3G/GPRS data card, aka "Option GT 3G Quad" as printed on it's rear or "Option N.V. GlobeTrotter Fusion Quad Lite" as read with "lspci -v". And it has the meaningful functionality in the second CardBus function. That presents a problem because it was the "ftdi-elan" module alone that knows how to communicate to the embedded CardBus slot and the "u132-hcd" module alone that knows how to access the pcmcia configuration and CardBus accessible memory space. And of course, the information about attached (internally hardwired) devices is contained within USB configuration embedded somewhere within the CardBus card. If only the "u132-hcd" module probe() interface could return a result code that propagated back to the instigating function platform_device_register() then the "ftdi-elan" module could try an alternative CardBus function. However in spite of the recent changes to the drivers/base/ routines that moved device_attach() from bus_add_device() to bus_attach_device() both of those routines lose the "failed to attach" 0 result code and thus the calling routine, namely device_add() is incapable of propaging the "failed to attach" condition back to platform_device_add() and consequently back to the caller of platform_device_register() Experiments show that patching bus_attach_device() to return ENODEV fails with the kernel locking up very early during boot. But, however, if the patch is restricted to calls from platform_device_add() then it does seem to work. Unfortunately, until the kernel's drivers/base is properly modified to propagate -ENODEV back to the caller of platform_device_register(), it is necessary to "fix" the "ftdi-elan" module by importing knowledge from the "u132-hcd" module. This is the reason for the duplicated functionality introduced in this patch. Signed-off-by: Tony Olech <tony.olech@elandigitalsystems.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc, misc fixesAndrew Victor
This is an update to the AT91 USB Device (Gadget) driver. Adds support for the Atmel AT91SAM9260 and AT91SAM9261 processors. The only difference is how they handle the pullup pin. [Patch from Patrice Vilchez] Need to clear any pending USB Device interrupts before registering the interrupt handler. The bootloader might have been using the USB Device port. [Patch from Peer Georgi] VBUS detection is handled by a GPIO interrupt which only triggers on a change. Is is therefore necessary to read the current VBUS state explicitly at startup. [Patch from Peer Georgi] Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91 udc, support at91sam926x addressesAndrew Victor
This is an update to the AT91 USB Device (Gadget) driver. The base I/O address provided in the platform_device resources is now ioremap()'ed instead of using a statically mapped memory area. This helps portability to the newer AT91sam926x processors. The major change is that we now have to pass a 'struct at91_udc' parameter to at91_udp_read() and at91_udp_write(). Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: OHCI support for PNX8550Vitaly Wool
OHCI HCD (Host Controller Driver) for USB. Bus Glue for PNX8550. Signed-off-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: ohci handles hardware faults during root port resetsTakamasa Ohtake
I have found a problem where the root_port_reset() goes into an infinite loop and stalls the kernel. This happens when a hardware fault inside the machine occurs during a small timing window. In case of USB device connection, if a USB device responds to hcd_submit_urb(), and later the controller fails before root_port_reset(), root_port_reset() will loop infinitely because ohci_readl() will always return "-1". Such a failure can include ejecting a CardBus OHCI controller. The probability of this problem is low, but it will increase if PnP type usage is frequent. The attached patch can solve this problem and I believe that it is better to fix this problem. Signed-off-by: Takamasa Ohtake <ohtake-txa@necst.nec.co.jp> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: ohci at91 warning fixAndrew Victor
Remove a warning about an unused variable in the OHCI bus glue for at91. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: ohci whitespace/comment fixupsDavid Brownell
This is an OHCI cleanup patch ... it removes a lot of erroneous whitespace (space before tab, at end of line) as well as the obsolete inline changelog. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: MAINTAINERS update, EHCI and OHCIDavid Brownell
Update maintainer records for two USB host controller drivers. I'm the main point of contact for both EHCI and OHCI, although I don't have much time for them any more. Roman hasn't submitted OHCI patches for years. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: gadget driver unbind() is optional; section fixes; miscDavid Brownell
Allow gadget drivers to omit the unbind() method. When they're statically linked, that's an appropriate memory saving tweak. Similarly, provide consistent/simpler handling for a should-not-happen error case: removing a peripheral controller driver when a gadget driver is still loaded. Such code dates back to early versions of the first implementation of the gadget API, and has never been triggered. Includes relevant section annotation fixs for gmidi.c, file_storage.c, and serial.c; we don't yet have an "init or exit" annotation. Also some whitespace fixes in gmidi.c (space at EOL, before tabs, etc). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20UHCI: module parameter to ignore overcurrent changesAlan Stern
Certain boards seem to like to issue false overcurrent notifications, for example on ports that don't have anything connected to them. This looks like a hardware error, at the level of noise to those ports' overcurrent input signals (or non-debounced VBUS comparators). This surfaces to users as truly massive amounts of syslog spam from khubd (which is appropriate for real hardware problems, except for the volume from multiple ports). Using this new "ignore_oc" flag helps such systems work more sanely, by preventing such indications from getting to khubd (and spamming syslog). The downside is of course that true overcurrent errors will be masked; they'll appear as spontaneous disconnects, without the diagnostics that will let users troubleshoot issues like short-circuited cables. In addition, controllers with no devices attached will be forced to poll for new devices rather than relying on interrupts, since each overcurrent event would generate a new interrupt. This patch (as826) is essentially a copy of David Brownell's ignore_oc patch for ehci-hcd, ported to uhci-hcd. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: Nokia E70 is an unusual deviceAndrew Morton
Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7508 When the Nokia E70 Phone is plugged in to the USB port, I get: end_request: I/O error, dev sda, sector 1824527 sd 0:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 1824535 sd 0:0:0:0: SCSI error: return code = 0x10070000 The fix is to add these lines to drivers/usb/storage/unusual_devs.h: Cc: <honkkis@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB AUERSWALD: replace kmalloc+memset with kzallocBurman Yan
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: fix Wacom Intuos3 4x6 bugsPing Cheng
Fixes Intuos3 4x6 bugs Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20usb-gsm-driver: Added VendorId and ProductId for Huawei E220 USB ModemJohann Wilhelm
Added VendorId and ProductId for Huawei E220 USB Modem Signed-off-by: Johann Wilhelm <johann.wilhelm@student.tugraz.at> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20usb-storage: Ignore the virtual cd-drive of the Huawei E220 USB ModemJohann Wilhelm
This prevents the kernel from detecting the virtual cd-drive with the Windows drivers. Signed-off-by: Johann Wilhelm <johann.wilhelm@student.tugraz.at> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: rtl8150 new device idPetko Manolov
This one adds another vendor ID to rtl8150 driver. Please apply. Signed-off-by: Petko Manolov <petkan@nucleusys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: fix ohci.h over-use warningsJeff Garzik
When u132-hcd is built, it includes local header ohci.h, which appears to have been intended only for use by ohci-hcd. This throws warnings about functions which are defined and not used. The warnings thrown are because three small functions are implemented in the header, but not declared 'inline', a rather strange affair. Since these functions are small, let's go ahead and define them as 'inline', just like the inline functions surrounding them. This makes things more consistent, and kills the warnings. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: Prevent the funsoft serial device from entering raw modeDavid Clare
Added a device specific ioctl function to prevent the disabling of canonical mode. EINVAL is returned for any TCSETSF ioctl that doesn't have ICANON set. This patch is for 2.6.17 or later kernels. When "hwinfo --modem" is executed it opens the funsoft USB serial device and disables canonical mode. The device is kept this way until hwininfo has finished probing any modems on a system. The funsoft device expects to be running in canonical mode. Switching the device to raw mode can cause incomplete data packets and device timeouts. Signed-off-by: David Clare <david@funsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20Add Baltech Reader ID to CP2101 driverJohannes Hoelzl
this patch adds the Baltech Reader ID to the list of USB IDs in the CP2101 driver. From: Johannes Hoelzl <johannes.hoelzl@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: mutexification of usblpOliver Neukum
this patch: - converts usblp fully to mutex - makes sleeping interruptible where EINTR can be returned anyway Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20usb serial: Eliminate bogus ioctl codeAlan
Several drivers have bogus ioctl code that tries unneccessarily to override the standard processing. In the three cases here the actual code is not only wrong but also not required as they implement the proper set_termios method as well. Remove the junk. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: removing ifdefed code from gl620aOliver Neukum
as David has objected to the patch against the gl620a driver, here's a patch implementing David' suggestion of removing the incomplete ifdefed code from the gl620a driver. Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2006-12-20USB: ftdi_sio - MachX product ID addedJan Capek
below is a patch for the ftdi_sio driver to include a new device ID for CCS MachX PIC programmer. From: Jan Capek <jan@ccsinfo.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: airprime: add device id for dell wireless 5500 hsdpa cardEagle Jones
Added the device id (0x413c, 0x8115) for the Dell wireless HSDPA 5500, which is a rebranded Novatel EU730. Signed-off-by: Eagle Jones <eagle@newdream.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: fix transvibrator disconnect raceOliver Neukum
in disconnect you set the interface's private data to NULL. In your IO methods you unconditionally follow the pointer into never never land. Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: Fix oops in PhidgetServoSean Young
The PhidgetServo causes an Oops when any of its sysfs attributes are read or written too, making the driver useless. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20[libata] pata_via: suspend/resume support fixAndrew Morton
Make this array static so it doesn't have to be built at runtime. Cc: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-12-20[libata] pata_cs5530: suspend/resume support tweakAndrew Morton
side-effectful-expression-within-assert give me the creeps. Cc: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-12-20[PATCH] block: document io scheduler allow_merge_fn hookJens Axboe
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2006-12-20[PATCH] cfq-iosched: don't allow sync merges across queuesJens Axboe
Currently we allow any merge, even if the io originates from different processes. This can cause really bad starvation and unfairness, if those ios happen to be synchronous (reads or direct writes). So add a allow_merge hook to the io scheduler ops, so an io scheduler can help decide whether a bio/process combination may be merged with an existing request. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2006-12-20[ALSA] version 1.0.14rc1Jaroslav Kysela
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-12-20[ALSA] ac97: Identify CMI9761 chips.James Courtier-Dutton
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-12-20[ALSA] ac97_codec - trivial fix for bit update functionsJames C Georgas
This patch fixes a couple of bit update functions in alsa-kernel/pci/ac97/ac97_codec.c, which could possibly corrupt bits not in the given mask. Specifically, it'll clobber unset bits in the target that are not in the mask, when the corresponding bit in the given new value is set. Signed-off-by: James C Georgas <jgeorgas@rogers.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-12-20[ALSA] snd-ca0106: Fix typos.James Courtier-Dutton
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-12-20[ALSA] snd-ca0106: Add new card variant.James Courtier-Dutton
Fixed ALSA bug#2326 Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>