--- /dev/null
+From b5d724b1add6eabf3aa7276ab3454ea9f45eebd3 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 2 Jun 2015 19:57:08 +0200
+Subject: ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit b5d724b1add6eabf3aa7276ab3454ea9f45eebd3 upstream.
+
+Acer Aspire 9420 with ALC883 (1025:0107) needs the fixup for EAPD to
+make the sound working like other Aspire models.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94111
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -2226,6 +2226,7 @@ static const struct hda_fixup alc882_fix
+ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
+ SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
++ SND_PCI_QUIRK(0x1025, 0x0107, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x010a, "Acer Ferrari 5000", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_FIXUP_ACER_EAPD),
--- /dev/null
+From 044bddb9ca8d49edb91bc22b9940a463b0dbb97f Mon Sep 17 00:00:00 2001
+From: Clemens Ladisch <clemens@ladisch.de>
+Date: Wed, 3 Jun 2015 11:36:42 +0200
+Subject: ALSA: usb-audio: add MAYA44 USB+ mixer control names
+
+From: Clemens Ladisch <clemens@ladisch.de>
+
+commit 044bddb9ca8d49edb91bc22b9940a463b0dbb97f upstream.
+
+Add mixer control names for the ESI Maya44 USB+ (which appears to be
+identical width the AudioTrak Maya44 USB).
+
+Reported-by: nightmixes <nightmixes@gmail.com>
+Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/mixer_maps.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/sound/usb/mixer_maps.c
++++ b/sound/usb/mixer_maps.c
+@@ -428,6 +428,11 @@ static struct usbmix_ctl_map usbmix_ctl_
+ .map = ebox44_map,
+ },
+ {
++ /* MAYA44 USB+ */
++ .id = USB_ID(0x2573, 0x0008),
++ .map = maya44_map,
++ },
++ {
+ /* KEF X300A */
+ .id = USB_ID(0x27ac, 0x1000),
+ .map = scms_usb3318_map,
--- /dev/null
+From 1ef9f0583514508bc93427106ceef3215e4eb1a5 Mon Sep 17 00:00:00 2001
+From: Wolfram Sang <wsa@the-dreams.de>
+Date: Fri, 29 May 2015 19:50:56 +0900
+Subject: ALSA: usb-audio: Add mic volume fix quirk for Logitech Quickcam Fusion
+
+From: Wolfram Sang <wsa@the-dreams.de>
+
+commit 1ef9f0583514508bc93427106ceef3215e4eb1a5 upstream.
+
+Fix this from the logs:
+
+usb 7-1: New USB device found, idVendor=046d, idProduct=08ca
+...
+usb 7-1: Warning! Unlikely big volume range (=3072), cval->res is probably wrong.
+usb 7-1: [5] FU [Mic Capture Volume] ch = 1, val = 4608/7680/1
+
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/mixer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/usb/mixer.c
++++ b/sound/usb/mixer.c
+@@ -891,6 +891,7 @@ static void volume_control_quirks(struct
+ case USB_ID(0x046d, 0x081d): /* HD Webcam c510 */
+ case USB_ID(0x046d, 0x0825): /* HD Webcam c270 */
+ case USB_ID(0x046d, 0x0826): /* HD Webcam c525 */
++ case USB_ID(0x046d, 0x08ca): /* Logitech Quickcam Fusion */
+ case USB_ID(0x046d, 0x0991):
+ /* Most audio usb devices lie about volume resolution.
+ * Most Logitech webcams have res = 384.
--- /dev/null
+From e5d732186270e0881f47d95610316c0614b21c3e Mon Sep 17 00:00:00 2001
+From: Axel Lin <axel.lin@ingics.com>
+Date: Wed, 20 May 2015 08:53:20 +0800
+Subject: iio: adc: twl6030-gpadc: Fix modalias
+
+From: Axel Lin <axel.lin@ingics.com>
+
+commit e5d732186270e0881f47d95610316c0614b21c3e upstream.
+
+Remove extra space between platform prefix and DRIVER_NAME in MODULE_ALIAS.
+
+Signed-off-by: Axel Lin <axel.lin@ingics.com>
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/adc/twl6030-gpadc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/iio/adc/twl6030-gpadc.c
++++ b/drivers/iio/adc/twl6030-gpadc.c
+@@ -1003,7 +1003,7 @@ static struct platform_driver twl6030_gp
+
+ module_platform_driver(twl6030_gpadc_driver);
+
+-MODULE_ALIAS("platform: " DRIVER_NAME);
++MODULE_ALIAS("platform:" DRIVER_NAME);
+ MODULE_AUTHOR("Balaji T K <balajitk@ti.com>");
+ MODULE_AUTHOR("Graeme Gregory <gg@slimlogic.co.uk>");
+ MODULE_AUTHOR("Oleksandr Kozaruk <oleksandr.kozaruk@ti.com");
--- /dev/null
+From c2a8b623a089d52c199e305e7905829907db8ec8 Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul.cercueil@analog.com>
+Date: Fri, 15 May 2015 17:18:36 +0200
+Subject: iio: adis16400: Compute the scan mask from channel indices
+
+From: Paul Cercueil <paul.cercueil@analog.com>
+
+commit c2a8b623a089d52c199e305e7905829907db8ec8 upstream.
+
+We unfortunately can't use ~0UL for the scan mask to indicate that the
+only valid scan mask is all channels selected. The IIO core needs the exact
+mask to work correctly and not a super-set of it. So calculate the masked
+based on the channels that are available for a particular device.
+
+Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Fixes: 5eda3550a3cc ("staging:iio:adis16400: Preallocate transfer message")
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/imu/adis16400.h | 1 +
+ drivers/iio/imu/adis16400_core.c | 25 ++++++++++++++++++-------
+ 2 files changed, 19 insertions(+), 7 deletions(-)
+
+--- a/drivers/iio/imu/adis16400.h
++++ b/drivers/iio/imu/adis16400.h
+@@ -165,6 +165,7 @@ struct adis16400_state {
+ int filt_int;
+
+ struct adis adis;
++ unsigned long avail_scan_mask[2];
+ };
+
+ /* At the moment triggers are only used for ring buffer
+--- a/drivers/iio/imu/adis16400_core.c
++++ b/drivers/iio/imu/adis16400_core.c
+@@ -824,11 +824,6 @@ static const struct iio_info adis16400_i
+ .debugfs_reg_access = adis_debugfs_reg_access,
+ };
+
+-static const unsigned long adis16400_burst_scan_mask[] = {
+- ~0UL,
+- 0,
+-};
+-
+ static const char * const adis16400_status_error_msgs[] = {
+ [ADIS16400_DIAG_STAT_ZACCL_FAIL] = "Z-axis accelerometer self-test failure",
+ [ADIS16400_DIAG_STAT_YACCL_FAIL] = "Y-axis accelerometer self-test failure",
+@@ -876,6 +871,20 @@ static const struct adis_data adis16400_
+ BIT(ADIS16400_DIAG_STAT_POWER_LOW),
+ };
+
++static void adis16400_setup_chan_mask(struct adis16400_state *st)
++{
++ const struct adis16400_chip_info *chip_info = st->variant;
++ unsigned i;
++
++ for (i = 0; i < chip_info->num_channels; i++) {
++ const struct iio_chan_spec *ch = &chip_info->channels[i];
++
++ if (ch->scan_index >= 0 &&
++ ch->scan_index != ADIS16400_SCAN_TIMESTAMP)
++ st->avail_scan_mask[0] |= BIT(ch->scan_index);
++ }
++}
++
+ static int adis16400_probe(struct spi_device *spi)
+ {
+ struct adis16400_state *st;
+@@ -899,8 +908,10 @@ static int adis16400_probe(struct spi_de
+ indio_dev->info = &adis16400_info;
+ indio_dev->modes = INDIO_DIRECT_MODE;
+
+- if (!(st->variant->flags & ADIS16400_NO_BURST))
+- indio_dev->available_scan_masks = adis16400_burst_scan_mask;
++ if (!(st->variant->flags & ADIS16400_NO_BURST)) {
++ adis16400_setup_chan_mask(st);
++ indio_dev->available_scan_masks = st->avail_scan_mask;
++ }
+
+ ret = adis_init(&st->adis, indio_dev, spi, &adis16400_data);
+ if (ret)
--- /dev/null
+From 69ca2d771e4e709c5ae1125858e1246e77ef8b86 Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Fri, 15 May 2015 17:18:34 +0200
+Subject: iio: adis16400: Report pressure channel scale
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit 69ca2d771e4e709c5ae1125858e1246e77ef8b86 upstream.
+
+Add the scale for the pressure channel, which is currently missing.
+
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Fixes: 76ada52f7f5d ("iio:adis16400: Add support for the adis16448")
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/imu/adis16400_core.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/iio/imu/adis16400_core.c
++++ b/drivers/iio/imu/adis16400_core.c
+@@ -438,6 +438,11 @@ static int adis16400_read_raw(struct iio
+ *val = st->variant->temp_scale_nano / 1000000;
+ *val2 = (st->variant->temp_scale_nano % 1000000);
+ return IIO_VAL_INT_PLUS_MICRO;
++ case IIO_PRESSURE:
++ /* 20 uBar = 0.002kPascal */
++ *val = 0;
++ *val2 = 2000;
++ return IIO_VAL_INT_PLUS_MICRO;
+ default:
+ return -EINVAL;
+ }
--- /dev/null
+From 7323d59862802ca109451eeda9777024a7625509 Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul.cercueil@analog.com>
+Date: Fri, 15 May 2015 17:18:35 +0200
+Subject: iio: adis16400: Use != channel indices for the two voltage channels
+
+From: Paul Cercueil <paul.cercueil@analog.com>
+
+commit 7323d59862802ca109451eeda9777024a7625509 upstream.
+
+Previously, the two voltage channels had the same ID, which didn't cause
+conflicts in sysfs only because one channel is named and the other isn't;
+this is still violating the spec though, two indexed channels should never
+have the same index.
+
+Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/imu/adis16400_core.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/iio/imu/adis16400_core.c
++++ b/drivers/iio/imu/adis16400_core.c
+@@ -485,10 +485,10 @@ static int adis16400_read_raw(struct iio
+ }
+ }
+
+-#define ADIS16400_VOLTAGE_CHAN(addr, bits, name, si) { \
++#define ADIS16400_VOLTAGE_CHAN(addr, bits, name, si, chn) { \
+ .type = IIO_VOLTAGE, \
+ .indexed = 1, \
+- .channel = 0, \
++ .channel = chn, \
+ .extend_name = name, \
+ .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
+ BIT(IIO_CHAN_INFO_SCALE), \
+@@ -504,10 +504,10 @@ static int adis16400_read_raw(struct iio
+ }
+
+ #define ADIS16400_SUPPLY_CHAN(addr, bits) \
+- ADIS16400_VOLTAGE_CHAN(addr, bits, "supply", ADIS16400_SCAN_SUPPLY)
++ ADIS16400_VOLTAGE_CHAN(addr, bits, "supply", ADIS16400_SCAN_SUPPLY, 0)
+
+ #define ADIS16400_AUX_ADC_CHAN(addr, bits) \
+- ADIS16400_VOLTAGE_CHAN(addr, bits, NULL, ADIS16400_SCAN_ADC)
++ ADIS16400_VOLTAGE_CHAN(addr, bits, NULL, ADIS16400_SCAN_ADC, 1)
+
+ #define ADIS16400_GYRO_CHAN(mod, addr, bits) { \
+ .type = IIO_ANGL_VEL, \
--- /dev/null
+From 72586c6061ab8c23ffd9f301ed19782a44ff5f04 Mon Sep 17 00:00:00 2001
+From: Laura Abbott <labbott@fedoraproject.org>
+Date: Thu, 14 May 2015 11:42:17 -0700
+Subject: n_tty: Fix auditing support for cannonical mode
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Laura Abbott <labbott@fedoraproject.org>
+
+commit 72586c6061ab8c23ffd9f301ed19782a44ff5f04 upstream.
+
+Commit 32f13521ca68bc624ff6effc77f308a52b038bf0
+("n_tty: Line copy to user buffer in canonical mode")
+changed cannonical mode copying to use copy_to_user
+but missed adding the call to the audit framework.
+Add in the appropriate functions to get audit support.
+
+Fixes: 32f13521ca68 ("n_tty: Line copy to user buffer in canonical mode")
+Reported-by: Miloslav Trmač <mitr@redhat.com>
+Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
+Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/tty/n_tty.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+--- a/drivers/tty/n_tty.c
++++ b/drivers/tty/n_tty.c
+@@ -186,6 +186,17 @@ static int receive_room(struct tty_struc
+ return left;
+ }
+
++static inline int tty_copy_to_user(struct tty_struct *tty,
++ void __user *to,
++ const void *from,
++ unsigned long n)
++{
++ struct n_tty_data *ldata = tty->disc_data;
++
++ tty_audit_add_data(tty, to, n, ldata->icanon);
++ return copy_to_user(to, from, n);
++}
++
+ /**
+ * n_tty_set_room - receive space
+ * @tty: terminal
+@@ -2084,12 +2095,12 @@ static int canon_copy_from_read_buf(stru
+ __func__, eol, found, n, c, size, more);
+
+ if (n > size) {
+- ret = copy_to_user(*b, read_buf_addr(ldata, tail), size);
++ ret = tty_copy_to_user(tty, *b, read_buf_addr(ldata, tail), size);
+ if (ret)
+ return -EFAULT;
+- ret = copy_to_user(*b + size, ldata->read_buf, n - size);
++ ret = tty_copy_to_user(tty, *b + size, ldata->read_buf, n - size);
+ } else
+- ret = copy_to_user(*b, read_buf_addr(ldata, tail), n);
++ ret = tty_copy_to_user(tty, *b, read_buf_addr(ldata, tail), n);
+
+ if (ret)
+ return -EFAULT;
xen-netback-read-hotplug-script-once-at-start-of-day.patch
ipv4-udp-verify-multicast-group-is-ours-in-upd_v4_early_demux.patch
bridge-disable-softirqs-around-br_fdb_update-to-avoid-lockup.patch
+iio-adc-twl6030-gpadc-fix-modalias.patch
+iio-adis16400-report-pressure-channel-scale.patch
+iio-adis16400-use-channel-indices-for-the-two-voltage-channels.patch
+iio-adis16400-compute-the-scan-mask-from-channel-indices.patch
+n_tty-fix-auditing-support-for-cannonical-mode.patch
+alsa-hda-realtek-add-a-fixup-for-another-acer-aspire-9420.patch
+alsa-usb-audio-add-mic-volume-fix-quirk-for-logitech-quickcam-fusion.patch
+alsa-usb-audio-add-maya44-usb-mixer-control-names.patch