summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-09-28 09:34:28 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-28 09:34:28 -0700
commite9fe504245d41a45222cf6876288de30625eb99a (patch)
tree61f2858bfc99def918c48119c4e9815431e45b77
parent4ff067e4a2282f41ecaf496176d5d8c296c27d11 (diff)
downloadlongterm-queue-2.6.32-e9fe504245d41a45222cf6876288de30625eb99a.tar.gz
.32 patches
-rw-r--r--queue-2.6.32/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch35
-rw-r--r--queue-2.6.32/cnic-improve-netdev_up-event-handling.patch44
-rw-r--r--queue-2.6.32/libiscsi_tcp-fix-lld-data-allocation.patch56
-rw-r--r--queue-2.6.32/series3
4 files changed, 138 insertions, 0 deletions
diff --git a/queue-2.6.32/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch b/queue-2.6.32/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch
new file mode 100644
index 0000000..6ba5a4a
--- /dev/null
+++ b/queue-2.6.32/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch
@@ -0,0 +1,35 @@
+From 5fe6e0151dbd969f5fbcd94d05c968b76d76952b Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 26 Sep 2011 10:41:21 +0200
+Subject: ALSA: hda/realtek - Avoid bogus HP-pin assignment
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 5fe6e0151dbd969f5fbcd94d05c968b76d76952b upstream.
+
+When the headphone pin is assigned as primary output to line_out_pins[],
+the automatic HP-pin assignment by ASSID must be suppressed. Otherwise
+a wrong pin might be assigned to the headphone and breaks the auto-mute.
+
+Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/pci/hda/patch_realtek.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -1337,7 +1337,9 @@ do_sku:
+ * 15 : 1 --> enable the function "Mute internal speaker
+ * when the external headphone out jack is plugged"
+ */
+- if (!spec->autocfg.hp_pins[0]) {
++ if (!spec->autocfg.hp_pins[0] &&
++ !(spec->autocfg.line_out_pins[0] &&
++ spec->autocfg.line_out_type == AUTO_PIN_HP_OUT)) {
+ hda_nid_t nid;
+ tmp = (ass >> 11) & 0x3; /* HP to chassis */
+ if (tmp == 0)
diff --git a/queue-2.6.32/cnic-improve-netdev_up-event-handling.patch b/queue-2.6.32/cnic-improve-netdev_up-event-handling.patch
new file mode 100644
index 0000000..58ef2e3
--- /dev/null
+++ b/queue-2.6.32/cnic-improve-netdev_up-event-handling.patch
@@ -0,0 +1,44 @@
+From db1d350fcb156b58f66a67680617077bcacfe6fc Mon Sep 17 00:00:00 2001
+From: Michael Chan <mchan@broadcom.com>
+Date: Wed, 8 Jun 2011 19:29:35 +0000
+Subject: cnic: Improve NETDEV_UP event handling
+
+From: Michael Chan <mchan@broadcom.com>
+
+commit db1d350fcb156b58f66a67680617077bcacfe6fc upstream.
+
+During NETDEV_UP, we use symbol_get() to get the net driver's cnic
+probe function. This sometimes doesn't work if NETDEV_UP happens
+right after NETDEV_REGISTER and the net driver is still running module
+init code. As a result, the cnic device may not be discovered. We
+fix this by probing on all NETDEV events if the device's netif_running
+state is up.
+
+Signed-off-by: Michael Chan <mchan@broadcom.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/cnic.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/cnic.c
++++ b/drivers/net/cnic.c
+@@ -2718,7 +2718,7 @@ static int cnic_netdev_event(struct noti
+
+ dev = cnic_from_netdev(netdev);
+
+- if (!dev && (event == NETDEV_REGISTER || event == NETDEV_UP)) {
++ if (!dev && (event == NETDEV_REGISTER || netif_running(netdev))) {
+ /* Check for the hot-plug device */
+ dev = is_cnic_dev(netdev);
+ if (dev) {
+@@ -2734,7 +2734,7 @@ static int cnic_netdev_event(struct noti
+ else if (event == NETDEV_UNREGISTER)
+ cnic_ulp_exit(dev);
+
+- if (event == NETDEV_UP) {
++ if (event == NETDEV_UP || (new_dev && netif_running(netdev))) {
+ if (cnic_register_netdev(dev) != 0) {
+ cnic_put(dev);
+ goto done;
diff --git a/queue-2.6.32/libiscsi_tcp-fix-lld-data-allocation.patch b/queue-2.6.32/libiscsi_tcp-fix-lld-data-allocation.patch
new file mode 100644
index 0000000..1f4dadb
--- /dev/null
+++ b/queue-2.6.32/libiscsi_tcp-fix-lld-data-allocation.patch
@@ -0,0 +1,56 @@
+From 74dcd0ec735ba9c5bef254b2f6e53068cf3f9ff0 Mon Sep 17 00:00:00 2001
+From: Mike Christie <michaelc@cs.wisc.edu>
+Date: Fri, 24 Jun 2011 15:11:55 -0500
+Subject: [SCSI] libiscsi_tcp: fix LLD data allocation
+
+From: Mike Christie <michaelc@cs.wisc.edu>
+
+commit 74dcd0ec735ba9c5bef254b2f6e53068cf3f9ff0 upstream.
+
+Have libiscsi_tcp have upper layers allocate the LLD data
+along with the iscsi_cls_conn struct, so it is refcounted.
+
+Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
+Signed-off-by: James Bottomley <JBottomley@Parallels.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/scsi/libiscsi_tcp.c | 14 +++-----------
+ 1 file changed, 3 insertions(+), 11 deletions(-)
+
+--- a/drivers/scsi/libiscsi_tcp.c
++++ b/drivers/scsi/libiscsi_tcp.c
+@@ -1069,7 +1069,8 @@ iscsi_tcp_conn_setup(struct iscsi_cls_se
+ struct iscsi_cls_conn *cls_conn;
+ struct iscsi_tcp_conn *tcp_conn;
+
+- cls_conn = iscsi_conn_setup(cls_session, sizeof(*tcp_conn), conn_idx);
++ cls_conn = iscsi_conn_setup(cls_session,
++ sizeof(*tcp_conn) + dd_data_size, conn_idx);
+ if (!cls_conn)
+ return NULL;
+ conn = cls_conn->dd_data;
+@@ -1081,22 +1082,13 @@ iscsi_tcp_conn_setup(struct iscsi_cls_se
+
+ tcp_conn = conn->dd_data;
+ tcp_conn->iscsi_conn = conn;
+-
+- tcp_conn->dd_data = kzalloc(dd_data_size, GFP_KERNEL);
+- if (!tcp_conn->dd_data) {
+- iscsi_conn_teardown(cls_conn);
+- return NULL;
+- }
++ tcp_conn->dd_data = conn->dd_data + sizeof(*tcp_conn);
+ return cls_conn;
+ }
+ EXPORT_SYMBOL_GPL(iscsi_tcp_conn_setup);
+
+ void iscsi_tcp_conn_teardown(struct iscsi_cls_conn *cls_conn)
+ {
+- struct iscsi_conn *conn = cls_conn->dd_data;
+- struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
+-
+- kfree(tcp_conn->dd_data);
+ iscsi_conn_teardown(cls_conn);
+ }
+ EXPORT_SYMBOL_GPL(iscsi_tcp_conn_teardown);
diff --git a/queue-2.6.32/series b/queue-2.6.32/series
index c47dcfc..68647ef 100644
--- a/queue-2.6.32/series
+++ b/queue-2.6.32/series
@@ -34,3 +34,6 @@ asix-add-ax88772b-usb-id.patch
hvc_console-improve-tty-console-put_chars-handling.patch
tpm-call-tpm_transmit-with-correct-size.patch
tpm-zero-buffer-after-copying-to-userspace.patch
+libiscsi_tcp-fix-lld-data-allocation.patch
+cnic-improve-netdev_up-event-handling.patch
+alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch