--- /dev/null
+From 8b8d654b55648561287bd8baca0f75f964a17038 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 20 Jun 2012 16:32:22 +0200
+Subject: ALSA: hda - Move one-time init codes from generic_hdmi_init()
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 8b8d654b55648561287bd8baca0f75f964a17038 upstream.
+
+The codes to initialize work struct or create a proc interface should
+be called only once and never although it's called many times through
+the init callback. Move that stuff into patch_generic_hdmi() so that
+it's called only once.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+BugLink: https://bugs.launchpad.net/bugs/1212160
+Signed-off-by: David Henningsson <david.henningsson@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_hdmi.c | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+
+--- a/sound/pci/hda/patch_hdmi.c
++++ b/sound/pci/hda/patch_hdmi.c
+@@ -1282,23 +1282,34 @@ static int generic_hdmi_build_controls(s
+ return 0;
+ }
+
+-static int generic_hdmi_init(struct hda_codec *codec)
++static int generic_hdmi_init_per_pins(struct hda_codec *codec)
+ {
+ struct hdmi_spec *spec = codec->spec;
+ int pin_idx;
+
+ for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
+ struct hdmi_spec_per_pin *per_pin = &spec->pins[pin_idx];
+- hda_nid_t pin_nid = per_pin->pin_nid;
+ struct hdmi_eld *eld = &per_pin->sink_eld;
+
+- hdmi_init_pin(codec, pin_nid);
+- snd_hda_jack_detect_enable(codec, pin_nid, pin_nid);
+-
+ per_pin->codec = codec;
+ INIT_DELAYED_WORK(&per_pin->work, hdmi_repoll_eld);
+ snd_hda_eld_proc_new(codec, eld, pin_idx);
+ }
++ return 0;
++}
++
++static int generic_hdmi_init(struct hda_codec *codec)
++{
++ struct hdmi_spec *spec = codec->spec;
++ int pin_idx;
++
++ for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
++ struct hdmi_spec_per_pin *per_pin = &spec->pins[pin_idx];
++ hda_nid_t pin_nid = per_pin->pin_nid;
++
++ hdmi_init_pin(codec, pin_nid);
++ snd_hda_jack_detect_enable(codec, pin_nid, pin_nid);
++ }
+ snd_hda_jack_report_sync(codec);
+ return 0;
+ }
+@@ -1343,6 +1354,7 @@ static int patch_generic_hdmi(struct hda
+ return -EINVAL;
+ }
+ codec->patch_ops = generic_hdmi_patch_ops;
++ generic_hdmi_init_per_pins(codec);
+
+ init_channel_allocations();
+
--- /dev/null
+From 0636fc507a976cdc40f21bdbcce6f0b98ff1dfe9 Mon Sep 17 00:00:00 2001
+From: Rui li <li.rui27@zte.com.cn>
+Date: Fri, 25 Oct 2013 10:57:21 +0800
+Subject: USB: add new zte 3g-dongle's pid to option.c
+
+From: Rui li <li.rui27@zte.com.cn>
+
+commit 0636fc507a976cdc40f21bdbcce6f0b98ff1dfe9 upstream.
+
+Signed-off-by: Rui li <li.rui27@zte.com.cn>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/option.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -1391,6 +1391,23 @@ static const struct usb_device_id option
+ .driver_info = (kernel_ulong_t)&net_intf2_blacklist },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1426, 0xff, 0xff, 0xff), /* ZTE MF91 */
+ .driver_info = (kernel_ulong_t)&net_intf2_blacklist },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1533, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1534, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1535, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1545, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1546, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1547, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1565, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1566, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1567, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1589, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1590, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1591, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1592, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1594, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1596, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1598, 0xff, 0xff, 0xff) },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1600, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2002, 0xff,
+ 0xff, 0xff), .driver_info = (kernel_ulong_t)&zte_k3765_z_blacklist },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2003, 0xff, 0xff, 0xff) },