summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-09-22 11:08:11 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-22 11:08:11 -0700
commite726633b0f0ffb79382c39717e2c63b75eb55996 (patch)
treedd6be1337cab2a69682595bc7d948d212d465215
parentc1d4b292265debd33cf22eb4d9389864e9189ed1 (diff)
downloadlongterm-queue-2.6.33-e726633b0f0ffb79382c39717e2c63b75eb55996.tar.gz
.33 patches
-rw-r--r--queue-2.6.33/asix-add-ax88772b-usb-id.patch32
-rw-r--r--queue-2.6.33/fcoe-unable-to-select-the-exchangeid-from-offload-pool-for-storage-targets.patch62
-rw-r--r--queue-2.6.33/hvc_console-improve-tty-console-put_chars-handling.patch57
-rw-r--r--queue-2.6.33/series4
-rw-r--r--queue-2.6.33/usb-pl2303-correctly-handle-baudrates-above-115200.patch53
5 files changed, 208 insertions, 0 deletions
diff --git a/queue-2.6.33/asix-add-ax88772b-usb-id.patch b/queue-2.6.33/asix-add-ax88772b-usb-id.patch
new file mode 100644
index 0000000..d844c99
--- /dev/null
+++ b/queue-2.6.33/asix-add-ax88772b-usb-id.patch
@@ -0,0 +1,32 @@
+From 308859097831831a979f2e82cbeef0a94f438080 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marek.vasut@gmail.com>
+Date: Wed, 20 Jul 2011 05:57:04 +0000
+Subject: ASIX: Add AX88772B USB ID
+
+From: Marek Vasut <marek.vasut@gmail.com>
+
+commit 308859097831831a979f2e82cbeef0a94f438080 upstream.
+
+This device can be found in Acer Iconia TAB W500 tablet dock.
+
+Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/usb/asix.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/net/usb/asix.c
++++ b/drivers/net/usb/asix.c
+@@ -1441,6 +1441,10 @@ static const struct usb_device_id produc
+ USB_DEVICE (0x04f1, 0x3008),
+ .driver_info = (unsigned long) &ax8817x_info,
+ }, {
++ // ASIX AX88772B 10/100
++ USB_DEVICE (0x0b95, 0x772b),
++ .driver_info = (unsigned long) &ax88772_info,
++}, {
+ // ASIX AX88772 10/100
+ USB_DEVICE (0x0b95, 0x7720),
+ .driver_info = (unsigned long) &ax88772_info,
diff --git a/queue-2.6.33/fcoe-unable-to-select-the-exchangeid-from-offload-pool-for-storage-targets.patch b/queue-2.6.33/fcoe-unable-to-select-the-exchangeid-from-offload-pool-for-storage-targets.patch
new file mode 100644
index 0000000..c483b3b
--- /dev/null
+++ b/queue-2.6.33/fcoe-unable-to-select-the-exchangeid-from-offload-pool-for-storage-targets.patch
@@ -0,0 +1,62 @@
+From 1ff9918b625457ce20d450d00f9ed0a12ba191b7 Mon Sep 17 00:00:00 2001
+From: Kiran Patil <kiran.patil@intel.com>
+Date: Mon, 20 Jun 2011 16:59:15 -0700
+Subject: [SCSI] fcoe: Unable to select the exchangeID from offload pool for storage targets
+
+From: Kiran Patil <kiran.patil@intel.com>
+
+commit 1ff9918b625457ce20d450d00f9ed0a12ba191b7 upstream.
+
+Problem: When initiator sends write command to target, target tries to
+assign new sequence. It allocates new exchangeID (RX_ID)
+always from non-offloaded pool (Non-offload EMA)
+
+Fix: Enhanced fcoe_oem_match routine to look at F_CTL flags and if it
+is exchange responder and command type is WRITEDATA, then function
+returns TRUE instead of FALSE. This function is used to determine
+which pool to use (offload pool of exchange is used only if this
+function returns TRUE).
+
+Technical Notes: N/A
+
+Signed-off-by: Kiran Patil <kiran.patil@intel.com>
+Signed-off-by: Robert Love <robert.w.love@intel.com>
+Signed-off-by: James Bottomley <JBottomley@Parallels.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/scsi/fcoe/fcoe.c | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+--- a/drivers/scsi/fcoe/fcoe.c
++++ b/drivers/scsi/fcoe/fcoe.c
+@@ -704,12 +704,27 @@ static int fcoe_shost_config(struct fc_l
+ * The offload EM that this routine is associated with will handle any
+ * packets that are for SCSI read requests.
+ *
++ * This has been enhanced to work when FCoE stack is operating in target
++ * mode.
++ *
+ * Returns: True for read types I/O, otherwise returns false.
+ */
+ bool fcoe_oem_match(struct fc_frame *fp)
+ {
+- return fc_fcp_is_read(fr_fsp(fp)) &&
+- (fr_fsp(fp)->data_len > fcoe_ddp_min);
++ struct fc_frame_header *fh = fc_frame_header_get(fp);
++ struct fcp_cmnd *fcp;
++
++ if (fc_fcp_is_read(fr_fsp(fp)) &&
++ (fr_fsp(fp)->data_len > fcoe_ddp_min))
++ return true;
++ else if (!(ntoh24(fh->fh_f_ctl) & FC_FC_EX_CTX)) {
++ fcp = fc_frame_payload_get(fp, sizeof(*fcp));
++ if (ntohs(fh->fh_rx_id) == FC_XID_UNKNOWN &&
++ fcp && (ntohl(fcp->fc_dl) > fcoe_ddp_min) &&
++ (fcp->fc_flags & FCP_CFL_WRDATA))
++ return true;
++ }
++ return false;
+ }
+
+ /**
diff --git a/queue-2.6.33/hvc_console-improve-tty-console-put_chars-handling.patch b/queue-2.6.33/hvc_console-improve-tty-console-put_chars-handling.patch
new file mode 100644
index 0000000..34d21d7
--- /dev/null
+++ b/queue-2.6.33/hvc_console-improve-tty-console-put_chars-handling.patch
@@ -0,0 +1,57 @@
+From 8c2381af0d3ef62a681dac5a141b6dabb27bf2e1 Mon Sep 17 00:00:00 2001
+From: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+Date: Tue, 5 Jul 2011 21:50:18 +0000
+Subject: hvc_console: Improve tty/console put_chars handling
+
+From: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+
+commit 8c2381af0d3ef62a681dac5a141b6dabb27bf2e1 upstream.
+
+Currently, the hvc_console_print() function drops console output if the
+hvc backend's put_chars() returns 0. This patch changes this behavior
+to allow a retry through returning -EAGAIN.
+
+This change also affects the hvc_push() function. Both functions are
+changed to handle -EAGAIN and to retry the put_chars() operation.
+
+If a hvc backend returns -EAGAIN, the retry handling differs:
+
+ - hvc_console_print() spins to write the complete console output.
+ - hvc_push() behaves the same way as for returning 0.
+
+Now hvc backends can indirectly control the way how console output is
+handled through the hvc console layer.
+
+Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+Acked-by: Anton Blanchard <anton@samba.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/char/hvc_console.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/drivers/char/hvc_console.c
++++ b/drivers/char/hvc_console.c
+@@ -162,8 +162,10 @@ static void hvc_console_print(struct con
+ } else {
+ r = cons_ops[index]->put_chars(vtermnos[index], c, i);
+ if (r <= 0) {
+- /* throw away chars on error */
+- i = 0;
++ /* throw away characters on error
++ * but spin in case of -EAGAIN */
++ if (r != -EAGAIN)
++ i = 0;
+ } else if (r > 0) {
+ i -= r;
+ if (i > 0)
+@@ -442,7 +444,7 @@ static int hvc_push(struct hvc_struct *h
+
+ n = hp->ops->put_chars(hp->vtermno, hp->outbuf, hp->n_outbuf);
+ if (n <= 0) {
+- if (n == 0) {
++ if (n == 0 || n == -EAGAIN) {
+ hp->do_wakeup = 1;
+ return 0;
+ }
diff --git a/queue-2.6.33/series b/queue-2.6.33/series
index eaab303..48e043a 100644
--- a/queue-2.6.33/series
+++ b/queue-2.6.33/series
@@ -29,3 +29,7 @@ cifs-fix-possible-memory-corruption-in-cifsfindnext.patch
b43-fix-beacon-problem-in-ad-hoc-mode.patch
wireless-reset-beacon_found-while-updating-regulatory.patch
rtl2800usb-fix-incorrect-storage-of-mac-address-on.patch
+usb-pl2303-correctly-handle-baudrates-above-115200.patch
+asix-add-ax88772b-usb-id.patch
+fcoe-unable-to-select-the-exchangeid-from-offload-pool-for-storage-targets.patch
+hvc_console-improve-tty-console-put_chars-handling.patch
diff --git a/queue-2.6.33/usb-pl2303-correctly-handle-baudrates-above-115200.patch b/queue-2.6.33/usb-pl2303-correctly-handle-baudrates-above-115200.patch
new file mode 100644
index 0000000..69bdf34
--- /dev/null
+++ b/queue-2.6.33/usb-pl2303-correctly-handle-baudrates-above-115200.patch
@@ -0,0 +1,53 @@
+From 8d48fdf689fed2c73c493e5146d1463689246442 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20Sroczy=C5=84ski?= <msroczyn@gmail.com>
+Date: Tue, 5 Jul 2011 21:53:35 +0200
+Subject: USB: PL2303: correctly handle baudrates above 115200
+
+From: Michal Sroczynski <msroczyn@gmail.com>
+
+commit 8d48fdf689fed2c73c493e5146d1463689246442 upstream.
+
+PL2303: correctly handle baudrates above 115200
+
+Signed-off-by: Michal Sroczynski <msroczyn@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/pl2303.c | 26 ++++++++++++++++++++++----
+ 1 file changed, 22 insertions(+), 4 deletions(-)
+
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -616,10 +616,28 @@ static void pl2303_set_termios(struct tt
+ baud = 6000000;
+ }
+ dbg("%s - baud set = %d", __func__, baud);
+- buf[0] = baud & 0xff;
+- buf[1] = (baud >> 8) & 0xff;
+- buf[2] = (baud >> 16) & 0xff;
+- buf[3] = (baud >> 24) & 0xff;
++ if (baud <= 115200) {
++ buf[0] = baud & 0xff;
++ buf[1] = (baud >> 8) & 0xff;
++ buf[2] = (baud >> 16) & 0xff;
++ buf[3] = (baud >> 24) & 0xff;
++ } else {
++ /* apparently the formula for higher speeds is:
++ * baudrate = 12M * 32 / (2^buf[1]) / buf[0]
++ */
++ unsigned tmp = 12*1000*1000*32 / baud;
++ buf[3] = 0x80;
++ buf[2] = 0;
++ buf[1] = (tmp >= 256);
++ while (tmp >= 256) {
++ tmp >>= 2;
++ buf[1] <<= 1;
++ }
++ if (tmp > 256) {
++ tmp %= 256;
++ }
++ buf[0] = tmp;
++ }
+ }
+
+ /* For reference buf[4]=0 is 1 stop bits */