diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2011-09-28 09:34:28 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-09-28 09:34:28 -0700 |
commit | e9fe504245d41a45222cf6876288de30625eb99a (patch) | |
tree | 61f2858bfc99def918c48119c4e9815431e45b77 | |
parent | 4ff067e4a2282f41ecaf496176d5d8c296c27d11 (diff) | |
download | longterm-queue-2.6.32-e9fe504245d41a45222cf6876288de30625eb99a.tar.gz |
.32 patches
-rw-r--r-- | queue-2.6.32/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch | 35 | ||||
-rw-r--r-- | queue-2.6.32/cnic-improve-netdev_up-event-handling.patch | 44 | ||||
-rw-r--r-- | queue-2.6.32/libiscsi_tcp-fix-lld-data-allocation.patch | 56 | ||||
-rw-r--r-- | queue-2.6.32/series | 3 |
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 |