linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	alan@lxorguk.ukuu.org.uk, Russ Gorby <russ.gorby@intel.com>,
	"Kappel, LaurentX" <laurentx.kappel@intel.com>,
	Alan Cox <alan@linux.intel.com>
Subject: [ 38/56] n_gsm: uplink SKBs accumulate on list
Date: Thu,  4 Oct 2012 14:15:59 -0700	[thread overview]
Message-ID: <20121004211156.455425661@linuxfoundation.org> (raw)
In-Reply-To: <20121004211152.101901246@linuxfoundation.org>

3.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Russ Gorby <russ.gorby@intel.com>

commit 192b6041e75bb4a2aae73834037038cea139a92d upstream.

gsm_dlci_data_kick will not call any output function if tx_bytes > THRESH_LO
furthermore it will call the output function only once if tx_bytes == 0
If the size of the IP writes are on the order of THRESH_LO
we can get into a situation where skbs accumulate on the outbound list
being starved for events to call the output function.

gsm_dlci_data_kick now calls the sweep function when tx_bytes==0

Signed-off-by: Russ Gorby <russ.gorby@intel.com>
Tested-by: Kappel, LaurentX <laurentx.kappel@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/tty/n_gsm.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -971,16 +971,19 @@ static void gsm_dlci_data_sweep(struct g
 static void gsm_dlci_data_kick(struct gsm_dlci *dlci)
 {
 	unsigned long flags;
+	int sweep;
 
 	spin_lock_irqsave(&dlci->gsm->tx_lock, flags);
 	/* If we have nothing running then we need to fire up */
+	sweep = (dlci->gsm->tx_bytes < TX_THRESH_LO);
 	if (dlci->gsm->tx_bytes == 0) {
 		if (dlci->net)
 			gsm_dlci_data_output_framed(dlci->gsm, dlci);
 		else
 			gsm_dlci_data_output(dlci->gsm, dlci);
-	} else if (dlci->gsm->tx_bytes < TX_THRESH_LO)
-		gsm_dlci_data_sweep(dlci->gsm);
+	}
+	if (sweep)
+ 		gsm_dlci_data_sweep(dlci->gsm);
 	spin_unlock_irqrestore(&dlci->gsm->tx_lock, flags);
 }
 



  parent reply	other threads:[~2012-10-04 21:18 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-04 21:15 [ 00/56] 3.6.1-stable review Greg Kroah-Hartman
2012-10-04 21:15 ` [ 01/56] usb: gadget: make g_printer enumerate again Greg Kroah-Hartman
2012-10-04 21:15 ` [ 02/56] usb: gadget: initialize the strings in tcm_usb_gadget properly Greg Kroah-Hartman
2012-10-04 21:15 ` [ 03/56] usb: otg: mxs-phy: Fix mx23 operation Greg Kroah-Hartman
2012-10-04 21:15 ` [ 04/56] USB: option: blacklist QMI interface on ZTE MF683 Greg Kroah-Hartman
2012-10-04 21:15 ` [ 05/56] USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support Greg Kroah-Hartman
2012-10-04 21:15 ` [ 06/56] USB: EHCI: convert warning messages to debug-level Greg Kroah-Hartman
2012-10-04 21:15 ` [ 07/56] USB: qcaux: add Pantech vendor class match Greg Kroah-Hartman
2012-10-04 21:15 ` [ 08/56] usb: host: xhci: Fix Null pointer dereferencing with 71c731a for non-x86 systems Greg Kroah-Hartman
2012-10-04 21:15 ` [ 09/56] USB: serial: fix up bug with missing {} Greg Kroah-Hartman
2012-10-04 21:15 ` [ 10/56] staging: speakup_soft: Fix reading of init string Greg Kroah-Hartman
2012-10-04 21:15 ` [ 11/56] tty: keyboard.c: Remove locking from vt_get_leds Greg Kroah-Hartman
2012-10-04 21:15 ` [ 12/56] staging: r8712u: Do not queue cloned skb Greg Kroah-Hartman
2012-10-04 21:15 ` [ 13/56] staging: comedi: s626: dont dereference insn->data Greg Kroah-Hartman
2012-10-04 21:15 ` [ 14/56] staging: comedi: jr3_pci: fix iomem dereference Greg Kroah-Hartman
2012-10-04 21:15 ` [ 15/56] staging: comedi: dont dereference user memory for INSN_INTTRIG Greg Kroah-Hartman
2012-10-04 21:15 ` [ 16/56] staging: comedi: fix memory leak for saved channel list Greg Kroah-Hartman
2012-10-04 21:15 ` [ 17/56] Remove BUG_ON from n_tty_read() Greg Kroah-Hartman
2012-10-04 21:15 ` [ 18/56] TTY: ttyprintk, dont touch behind tty->write_buf Greg Kroah-Hartman
2012-10-04 21:15 ` [ 19/56] serial: omap: fix software flow control Greg Kroah-Hartman
2012-10-04 21:15 ` [ 20/56] serial: pl011: handle corruption at high clock speeds Greg Kroah-Hartman
2012-10-04 21:15 ` [ 21/56] serial: set correct baud_base for EXSYS EX-41092 Dual 16950 Greg Kroah-Hartman
2012-10-04 21:15 ` [ 22/56] tools/hv: Fix file handle leak Greg Kroah-Hartman
2012-10-04 21:15 ` [ 23/56] tools/hv: Fix exit() error code Greg Kroah-Hartman
2012-10-04 21:15 ` [ 24/56] tools/hv: Check for read/write errors Greg Kroah-Hartman
2012-10-04 21:15 ` [ 25/56] b43legacy: Fix crash on unload when firmware not available Greg Kroah-Hartman
2012-10-04 21:15 ` [ 26/56] firmware: Add missing attributes to EFI variable attribute print out from sysfs Greg Kroah-Hartman
2012-10-04 21:15 ` [ 27/56] xhci: Intel Panther Point BEI quirk Greg Kroah-Hartman
2012-10-04 21:15 ` [ 28/56] xHCI: add cmd_ring_state Greg Kroah-Hartman
2012-10-04 21:15 ` [ 29/56] xHCI: add aborting command ring function Greg Kroah-Hartman
2012-10-04 21:15 ` [ 30/56] xHCI: cancel command after command timeout Greg Kroah-Hartman
2012-10-04 21:15 ` [ 31/56] xHCI: handle command after aborting the command ring Greg Kroah-Hartman
2012-10-04 21:15 ` [ 32/56] Increase XHCI suspend timeout to 16ms Greg Kroah-Hartman
2012-10-04 21:15 ` [ 33/56] HID: keep dev_rdesc unmodified and use it for comparisons Greg Kroah-Hartman
2012-10-04 21:15 ` [ 34/56] ath9k: Disable ASPM only for AR9285 Greg Kroah-Hartman
2012-10-04 21:15 ` [ 35/56] xen/pciback: Restore the PCI config space after an FLR Greg Kroah-Hartman
2012-10-04 21:15 ` [ 36/56] coredump: prevent double-free on an error path in core dumper Greg Kroah-Hartman
2012-10-04 21:15 ` [ 37/56] n_gsm.c: Implement 3GPP27.010 DLC start-up procedure in MUX Greg Kroah-Hartman
2012-10-04 21:15 ` Greg Kroah-Hartman [this message]
2012-10-04 21:16 ` [ 39/56] n_gsm: added interlocking for gsm_data_lock for certain code paths Greg Kroah-Hartman
2012-10-04 21:16 ` [ 40/56] n_gsm: memory leak in uplink error path Greg Kroah-Hartman
2012-10-04 21:16 ` [ 41/56] UBI: fix autoresize handling in R/O mode Greg Kroah-Hartman
2012-10-04 21:16 ` [ 42/56] UBI: erase free PEB with bitflip in EC header Greg Kroah-Hartman
2012-10-04 21:16 ` [ 43/56] Yama: handle 32-bit userspace prctl Greg Kroah-Hartman
2012-10-04 21:16 ` [ 44/56] SCSI: ibmvscsi: Fix host config length field overflow Greg Kroah-Hartman
2012-10-04 21:16 ` [ 45/56] SCSI: hpsa: Use LUN reset instead of target reset Greg Kroah-Hartman
2012-10-04 21:16 ` [ 46/56] can: mscan-mpc5xxx: fix return value check in mpc512x_can_get_clock() Greg Kroah-Hartman
2012-10-04 21:16 ` [ 47/56] Input: synaptics - adjust threshold for treating position values as negative Greg Kroah-Hartman
2012-10-04 21:16 ` [ 48/56] remoteproc: select VIRTIO to avoid build breakage Greg Kroah-Hartman
2012-10-04 21:16 ` [ 49/56] remoteproc: fix a potential NULL-dereference on cleanup Greg Kroah-Hartman
2012-10-04 21:16 ` [ 50/56] IPoIB: Fix use-after-free of multicast object Greg Kroah-Hartman
2012-10-04 21:16 ` [ 51/56] IB/srp: Fix use-after-free in srp_reset_req() Greg Kroah-Hartman
2012-10-04 21:16 ` [ 52/56] IB/srp: Avoid having aborted requests hang Greg Kroah-Hartman
2012-10-04 21:16 ` [ 53/56] IB/qib: Fix local access validation for user MRs Greg Kroah-Hartman
2012-10-04 21:16 ` [ 54/56] isci: fix isci_pci_probe() generates warning on efi failure path Greg Kroah-Hartman
2012-10-04 21:16 ` [ 55/56] SCSI: scsi_remove_target: fix softlockup regression on hot remove Greg Kroah-Hartman
2012-10-04 21:16 ` [ 56/56] SCSI: scsi_dh_alua: Enable STPG for unavailable ports Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121004211156.455425661@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alan@linux.intel.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=laurentx.kappel@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=russ.gorby@intel.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).