Patch dmaengine: omap-dma: Fix memory leak when terminating running transfer has been added to the 3.10-stable tree

2015-04-17 Thread gregkh

This is a note to let you know that I've just added the patch titled

dmaengine: omap-dma: Fix memory leak when terminating running transfer

to the 3.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dmaengine-omap-dma-fix-memory-leak-when-terminating-running-transfer.patch
and it can be found in the queue-3.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let sta...@vger.kernel.org know about it.


From 02d88b735f5a60f04dbf6d051b76e1877a0d0844 Mon Sep 17 00:00:00 2001
From: Peter Ujfalusi peter.ujfal...@ti.com
Date: Fri, 27 Mar 2015 13:35:52 +0200
Subject: dmaengine: omap-dma: Fix memory leak when terminating running transfer

From: Peter Ujfalusi peter.ujfal...@ti.com

commit 02d88b735f5a60f04dbf6d051b76e1877a0d0844 upstream.

In omap_dma_start_desc the vdesc-node is removed from the virt-dma
framework managed lists (to be precise from the desc_issued list).
If a terminate_all comes before the transfer finishes the omap_desc will
not be freed up because it is not in any of the lists and we stopped the
DMA channel so the transfer will not going to complete.
There is no special sequence for leaking memory when using cyclic (audio)
transfer: with every start and stop of a cyclic transfer the driver leaks
struct omap_desc worth of memory.

Free up the allocated memory directly in omap_dma_terminate_all() since the
framework will not going to do that for us.

Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com
CC: linux-omap@vger.kernel.org
Signed-off-by: Vinod Koul vinod.k...@intel.com
Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org

---
 drivers/dma/omap-dma.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/dma/omap-dma.c
+++ b/drivers/dma/omap-dma.c
@@ -487,6 +487,7 @@ static int omap_dma_terminate_all(struct
 * c-desc is NULL and exit.)
 */
if (c-desc) {
+   omap_dma_desc_free(c-desc-vd);
c-desc = NULL;
/* Avoid stopping the dma twice */
if (!c-paused)


Patches currently in stable-queue which might be from peter.ujfal...@ti.com are

queue-3.10/dmaengine-omap-dma-fix-memory-leak-when-terminating-running-transfer.patch
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Patch dmaengine: omap-dma: Fix memory leak when terminating running transfer has been added to the 3.14-stable tree

2015-04-17 Thread gregkh

This is a note to let you know that I've just added the patch titled

dmaengine: omap-dma: Fix memory leak when terminating running transfer

to the 3.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dmaengine-omap-dma-fix-memory-leak-when-terminating-running-transfer.patch
and it can be found in the queue-3.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let sta...@vger.kernel.org know about it.


From 02d88b735f5a60f04dbf6d051b76e1877a0d0844 Mon Sep 17 00:00:00 2001
From: Peter Ujfalusi peter.ujfal...@ti.com
Date: Fri, 27 Mar 2015 13:35:52 +0200
Subject: dmaengine: omap-dma: Fix memory leak when terminating running transfer

From: Peter Ujfalusi peter.ujfal...@ti.com

commit 02d88b735f5a60f04dbf6d051b76e1877a0d0844 upstream.

In omap_dma_start_desc the vdesc-node is removed from the virt-dma
framework managed lists (to be precise from the desc_issued list).
If a terminate_all comes before the transfer finishes the omap_desc will
not be freed up because it is not in any of the lists and we stopped the
DMA channel so the transfer will not going to complete.
There is no special sequence for leaking memory when using cyclic (audio)
transfer: with every start and stop of a cyclic transfer the driver leaks
struct omap_desc worth of memory.

Free up the allocated memory directly in omap_dma_terminate_all() since the
framework will not going to do that for us.

Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com
CC: linux-omap@vger.kernel.org
Signed-off-by: Vinod Koul vinod.k...@intel.com
Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org

---
 drivers/dma/omap-dma.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/dma/omap-dma.c
+++ b/drivers/dma/omap-dma.c
@@ -487,6 +487,7 @@ static int omap_dma_terminate_all(struct
 * c-desc is NULL and exit.)
 */
if (c-desc) {
+   omap_dma_desc_free(c-desc-vd);
c-desc = NULL;
/* Avoid stopping the dma twice */
if (!c-paused)


Patches currently in stable-queue which might be from peter.ujfal...@ti.com are

queue-3.14/dmaengine-omap-dma-fix-memory-leak-when-terminating-running-transfer.patch
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Patch dmaengine: omap-dma: Fix memory leak when terminating running transfer has been added to the 3.19-stable tree

2015-04-17 Thread gregkh

This is a note to let you know that I've just added the patch titled

dmaengine: omap-dma: Fix memory leak when terminating running transfer

to the 3.19-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dmaengine-omap-dma-fix-memory-leak-when-terminating-running-transfer.patch
and it can be found in the queue-3.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let sta...@vger.kernel.org know about it.


From 02d88b735f5a60f04dbf6d051b76e1877a0d0844 Mon Sep 17 00:00:00 2001
From: Peter Ujfalusi peter.ujfal...@ti.com
Date: Fri, 27 Mar 2015 13:35:52 +0200
Subject: dmaengine: omap-dma: Fix memory leak when terminating running transfer

From: Peter Ujfalusi peter.ujfal...@ti.com

commit 02d88b735f5a60f04dbf6d051b76e1877a0d0844 upstream.

In omap_dma_start_desc the vdesc-node is removed from the virt-dma
framework managed lists (to be precise from the desc_issued list).
If a terminate_all comes before the transfer finishes the omap_desc will
not be freed up because it is not in any of the lists and we stopped the
DMA channel so the transfer will not going to complete.
There is no special sequence for leaking memory when using cyclic (audio)
transfer: with every start and stop of a cyclic transfer the driver leaks
struct omap_desc worth of memory.

Free up the allocated memory directly in omap_dma_terminate_all() since the
framework will not going to do that for us.

Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com
CC: linux-omap@vger.kernel.org
Signed-off-by: Vinod Koul vinod.k...@intel.com
Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org

---
 drivers/dma/omap-dma.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/dma/omap-dma.c
+++ b/drivers/dma/omap-dma.c
@@ -978,6 +978,7 @@ static int omap_dma_terminate_all(struct
 * c-desc is NULL and exit.)
 */
if (c-desc) {
+   omap_dma_desc_free(c-desc-vd);
c-desc = NULL;
/* Avoid stopping the dma twice */
if (!c-paused)


Patches currently in stable-queue which might be from peter.ujfal...@ti.com are

queue-3.19/dmaengine-edma-fix-memory-leak-when-terminating-running-transfers.patch
queue-3.19/dmaengine-omap-dma-fix-memory-leak-when-terminating-running-transfer.patch
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Patch dmaengine: edma: fix memory leak when terminating running transfers has been added to the 3.19-stable tree

2015-04-17 Thread gregkh

This is a note to let you know that I've just added the patch titled

dmaengine: edma: fix memory leak when terminating running transfers

to the 3.19-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dmaengine-edma-fix-memory-leak-when-terminating-running-transfers.patch
and it can be found in the queue-3.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let sta...@vger.kernel.org know about it.


From 5ca9e7ce6eebec53362ff779264143860ccf68cd Mon Sep 17 00:00:00 2001
From: Petr Kulhavy p...@barix.com
Date: Fri, 27 Mar 2015 13:35:51 +0200
Subject: dmaengine: edma: fix memory leak when terminating running transfers

From: Petr Kulhavy p...@barix.com

commit 5ca9e7ce6eebec53362ff779264143860ccf68cd upstream.

If edma_terminate_all() was called while a transfer was running (i.e. after
edma_execute() but before edma_callback()) the echan-edesc was not freed.

This was due to the fact that a running transfer is on none of the
vchan lists: desc_submitted, desc_issued, desc_completed (edma_execute()
removes it from the desc_issued list), so the vchan_dma_desc_free_list()
called at the end of edma_terminate_all() didn't find it and didn't free it.

This bug was found on an AM1808 based hardware (very similar to da850evm,
however using the second MMC/SD controller), where intense operations on the SD
card wasted the device 128MB RAM within a couple of days.

Peter Ujfalusi:
The issue is even more severe since it affects cyclic (audio) transfers as
well. In this case starting/stopping audio will results memory leak.

Signed-off-by: Petr Kulhavy p...@barix.com
Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com
CC: linux-omap@vger.kernel.org
Signed-off-by: Vinod Koul vinod.k...@intel.com
Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org

---
 drivers/dma/edma.c |7 +++
 1 file changed, 7 insertions(+)

--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -258,6 +258,13 @@ static int edma_terminate_all(struct edm
 */
if (echan-edesc) {
int cyclic = echan-edesc-cyclic;
+
+   /*
+* free the running request descriptor
+* since it is not in any of the vdesc lists
+*/
+   edma_desc_free(echan-edesc-vdesc);
+
echan-edesc = NULL;
edma_stop(echan-ch_num);
/* Move the cyclic channel back to default queue */


Patches currently in stable-queue which might be from p...@barix.com are

queue-3.19/dmaengine-edma-fix-memory-leak-when-terminating-running-transfers.patch
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


patch [PATCH] OMAP4: clock: re-enable previous clockdomain enable/disable failed to apply to 3.0-stable tree

2011-09-15 Thread gregkh

The patch below does not apply to the 3.0-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to sta...@kernel.org.

thanks,

greg k-h

-- original commit in Linus's tree --

From 9c5f560173a466582d91bb06f4e3d2bafb0fee5c Mon Sep 17 00:00:00 2001
From: Paul Walmsley p...@pwsan.com
Date: Fri, 19 Aug 2011 16:59:56 -0600
Subject: [PATCH] OMAP4: clock: re-enable previous clockdomain enable/disable
 sequence
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

After commit 665d001338b494d6d62810aa99b4c0fa1a0884b9 (OMAP2+: hwmod:
Follow the recommended PRCM module enable sequence), device drivers
for OMAP IP blocks that do not use runtime PM can cause oopses or
kernel instability[1][2].

This is because those non-runtime PM drivers do not use the hwmod
code, which implements the correct IP block enable and disable
sequence.

Several options for dealing with this problem have been proposed:

1. Add a new field to the OMAP struct clk to mark clocks that are
   currently used by non-runtime PM drivers.  Modify the clock code to
   use the old clockdomain sequence for these marked clocks.  As
   drivers are converted to use runtime PM, remove the annotation from
   the clocks.

2. Similar to #1, but associate the flag with the struct omap_clk
   instead.

3. Add IDLEST wait support to the OMAP4 clock code, similar to the way
   it is implemented for OMAP2/3, and enable it in each struct clk
   currently used by non-runtime PM drivers.  As drivers are converted
   to use runtime PM, remove the annotation from the clocks.

4. Do nothing; leave the problem to those responsible for the
   unconverted drivers.

5. Re-enable clock-based clockdomain control in the OMAP4 clock code.
   This would revert back to the behavior of Linux 3.0, simply with a
   slightly longer module enable/disable latency.

Unfortunately, no approach seemed particularly good.  Options 1
through 3 seemed unwise due to the following reasons:

A. The OMAP struct clks are intended primarily to describe hardware
   clock nodes, and the intention is that no driver-specific data
   should be stored there (applies to #1)

B. The resulting patch would have been quite large for the -rc series
   (applies to #1, #2, #3)

C. The patch would have been a new, yet temporary hack; and similar fixes
   have drawn negative comments in the recent past (see for example [3])

Option 4 is undesirable because commit
665d001338b494d6d62810aa99b4c0fa1a0884b9 (OMAP2+: hwmod: Follow the
recommended PRCM module enable sequence) has resulted in a less
stable kernel; and kernel stability is more important than OMAP4 power
management.

Option 5 is the approach taken in this patch.  This seemed to be the
least intrusive approach for 3.1-rc.

The approach in this patch was originally proposed by Ohad Ben-Cohen
o...@wizery.com.  I'm simply writing the commit message and passing
it along.

...

Thanks to Luciano Coelho coe...@ti.com for reporting the problem.
Thanks to Ohad Ben-Cohen o...@wizery.com for tracking the problem
down, generating a temporary workaround, and proposing a patch to deal
with the problem.  Thanks to Rajendra Nayak rna...@ti.com for
proposing another patch to deal with the problem.  Thanks to Felipe
Balbi ba...@ti.com for comments.

1. Coelho, Luciano coe...@ti.com.  _Re: Oops on ehci_hcd when
   booting 3.0.0-rc2 on panda_.  Tue, 09 Aug 2011 14:26:08 +0300.
   Posted to the linux-omap@vger.kernel.org mailing list.  Available
   from (among others)
   http://www.spinics.net/linux/lists/linux-omap/msg55213.html

2. Munegowda, Keshava keshava_mgo...@ti.com. _Re: Oops on ehci_hcd
   when booting 3.0.0-rc2 on panda_.  Thu, 11 Aug 2011 13:51:05 +0530.
   Posted to the linux-omap@vger.kernel.org mailing list.  Available
   from (among others)
   http://www.spinics.net/linux/lists/linux-omap/msg55371.html

3. King, Russell li...@arm.linux.org.uk.  _Re: [PATCH 5/8] OMAP4:
   PM: TEMP: Prevent l3init from idling/force sleep_.  Thu, 23 Jun
   2011 16:22:49 +0100.  Posted to the linux-omap@vger.kernel.org
   mailing list.  Available from (among others)
   http://www.mail-archive.com/linux-omap@vger.kernel.org/msg51392.html

Signed-off-by: Paul Walmsley p...@pwsan.com
Cc: Luciano Coelho coe...@ti.com
Cc: Ohad Ben-Cohen o...@wizery.com
Cc: Rajendra Nayak rna...@ti.com
Cc: Benoît Cousson b-cous...@ti.com
Acked-by: Santosh Shilimkar santosh.shilim...@ti.com

diff --git a/arch/arm/mach-omap2/clock44xx_data.c 
b/arch/arm/mach-omap2/clock44xx_data.c
index 2af0e3f..a3a1827 100644
--- a/arch/arm/mach-omap2/clock44xx_data.c
+++ b/arch/arm/mach-omap2/clock44xx_data.c
@@ -3379,7 +3379,13 @@ int __init omap4xxx_clk_init(void)
}
 
clk_init(omap2_clk_functions);
-   omap2_clk_disable_clkdm_control();
+
+   /*
+* Must stay commented until all OMAP SoC drivers are
+* 

patch arm-defconfig-rx51-enable-phonet-and-g_nokia.patch added to gregkh-2.6 tree

2010-01-15 Thread gregkh

This is a note to let you know that I've just added the patch titled

Subject: arm: defconfig: rx51: enable phonet and g_nokia

to my gregkh-2.6 tree.  Its filename is

arm-defconfig-rx51-enable-phonet-and-g_nokia.patch

This tree can be found at 
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/


From felipe.ba...@nokia.com  Fri Jan 15 10:59:45 2010
From: Felipe Balbi felipe.ba...@nokia.com
Date: Tue,  5 Jan 2010 16:10:14 +0200
Subject: arm: defconfig: rx51: enable phonet and g_nokia
To: linux-...@vger.kernel.org
Cc: Linux OMAP Mailing List linux-omap@vger.kernel.org, Tony Lindgren 
t...@atomide.com, Greg KH g...@kroah.com, Felipe Balbi 
felipe.ba...@nokia.com
Message-ID: 1262700614-16438-2-git-send-email-felipe.ba...@nokia.com


trivial patch enabling g_nokia on rx51_defconfig.

Signed-off-by: Felipe Balbi felipe.ba...@nokia.com
Signed-off-by: Greg Kroah-Hartman gre...@suse.de

---
 arch/arm/configs/rx51_defconfig |   11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

--- a/arch/arm/configs/rx51_defconfig
+++ b/arch/arm/configs/rx51_defconfig
@@ -445,6 +445,8 @@ CONFIG_IP_NF_FILTER=m
 # CONFIG_LAPB is not set
 # CONFIG_ECONET is not set
 # CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=y
+# CONFIG_IEEE802154 is not set
 # CONFIG_NET_SCHED is not set
 # CONFIG_DCB is not set
 
@@ -1325,27 +1327,34 @@ CONFIG_USB_GADGET_SELECTED=y
 # CONFIG_USB_GADGET_LH7A40X is not set
 # CONFIG_USB_GADGET_OMAP is not set
 # CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
 # CONFIG_USB_GADGET_PXA27X is not set
-# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
 # CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
 # CONFIG_USB_GADGET_M66592 is not set
 # CONFIG_USB_GADGET_AMD5536UDC is not set
 # CONFIG_USB_GADGET_FSL_QE is not set
 # CONFIG_USB_GADGET_CI13XXX is not set
 # CONFIG_USB_GADGET_NET2280 is not set
 # CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
 # CONFIG_USB_GADGET_DUMMY_HCD is not set
 CONFIG_USB_GADGET_DUALSPEED=y
 CONFIG_USB_ZERO=m
 # CONFIG_USB_ZERO_HNPTEST is not set
+# CONFIG_USB_AUDIO is not set
 # CONFIG_USB_ETH is not set
 # CONFIG_USB_GADGETFS is not set
 CONFIG_USB_FILE_STORAGE=m
 # CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
 # CONFIG_USB_G_SERIAL is not set
 # CONFIG_USB_MIDI_GADGET is not set
 # CONFIG_USB_G_PRINTER is not set
 # CONFIG_USB_CDC_COMPOSITE is not set
+CONFIG_USB_G_NOKIA=m
+# CONFIG_USB_G_MULTI is not set
 
 #
 # OTG and related infrastructure

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


patch usb-gadget-introduce-g_nokia-gadget-driver.patch added to gregkh-2.6 tree

2010-01-15 Thread gregkh

This is a note to let you know that I've just added the patch titled

Subject: USB: gadget: introduce g_nokia gadget driver

to my gregkh-2.6 tree.  Its filename is

usb-gadget-introduce-g_nokia-gadget-driver.patch

This tree can be found at 
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/


From felipe.ba...@nokia.com  Fri Jan 15 10:59:19 2010
From: Felipe Balbi felipe.ba...@nokia.com
Date: Tue,  5 Jan 2010 16:10:13 +0200
Subject: USB: gadget: introduce g_nokia gadget driver
To: linux-...@vger.kernel.org
Cc: Linux OMAP Mailing List linux-omap@vger.kernel.org, Tony Lindgren 
t...@atomide.com, Greg KH g...@kroah.com, Felipe Balbi 
felipe.ba...@nokia.com
Message-ID: 1262700614-16438-1-git-send-email-felipe.ba...@nokia.com


g_nokia is the gadget driver implementing
WMCDC Wireless Handset Control Model for the N900
device.

Signed-off-by: Felipe Balbi felipe.ba...@nokia.com
Signed-off-by: Greg Kroah-Hartman gre...@suse.de

---
 drivers/usb/gadget/Kconfig  |   10 +
 drivers/usb/gadget/Makefile |2 
 drivers/usb/gadget/nokia.c  |  259 
 3 files changed, 271 insertions(+)

--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -812,6 +812,16 @@ config USB_CDC_COMPOSITE
  Say y to link the driver statically, or m to build a
  dynamically linked module.
 
+config USB_G_NOKIA
+   tristate Nokia composite gadget
+   depends on PHONET
+   help
+ The Nokia composite gadget provides support for acm, obex
+ and phonet in only one composite gadget driver.
+
+ It's only really useful for N900 hardware. If you're building
+ a kernel for N900, say Y or M here. If unsure, say N.
+
 config USB_G_MULTI
tristate Multifunction Composite Gadget (EXPERIMENTAL)
depends on BLOCK  NET
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -43,6 +43,7 @@ g_mass_storage-objs   := mass_storage.o
 g_printer-objs := printer.o
 g_cdc-objs := cdc2.o
 g_multi-objs   := multi.o
+g_nokia-objs   := nokia.o
 
 obj-$(CONFIG_USB_ZERO) += g_zero.o
 obj-$(CONFIG_USB_AUDIO)+= g_audio.o
@@ -55,4 +56,5 @@ obj-$(CONFIG_USB_G_PRINTER)   += g_printer
 obj-$(CONFIG_USB_MIDI_GADGET)  += g_midi.o
 obj-$(CONFIG_USB_CDC_COMPOSITE) += g_cdc.o
 obj-$(CONFIG_USB_G_MULTI)  += g_multi.o
+obj-$(CONFIG_USB_G_NOKIA)  += g_nokia.o
 
--- /dev/null
+++ b/drivers/usb/gadget/nokia.c
@@ -0,0 +1,259 @@
+/*
+ * nokia.c -- Nokia Composite Gadget Driver
+ *
+ * Copyright (C) 2008-2010 Nokia Corporation
+ * Contact: Felipe Balbi felipe.ba...@nokia.com
+ *
+ * This gadget driver borrows from serial.c which is:
+ *
+ * Copyright (C) 2003 Al Borchers (alborch...@steinerpoint.com)
+ * Copyright (C) 2008 by David Brownell
+ * Copyright (C) 2008 by Nokia Corporation
+ *
+ * This software is distributed under the terms of the GNU General
+ * Public License (GPL) as published by the Free Software Foundation,
+ * version 2 of that License.
+ */
+
+#include linux/kernel.h
+#include linux/utsname.h
+#include linux/device.h
+
+#include u_serial.h
+#include u_ether.h
+#include u_phonet.h
+#include gadget_chips.h
+
+/* Defines */
+
+#define NOKIA_VERSION_NUM  0x0211
+#define NOKIA_LONG_NAMEN900 (PC-Suite Mode)
+
+/*-*/
+
+/*
+ * Kbuild is not very cooperative with respect to linking separately
+ * compiled library objects into one module.  So for now we won't use
+ * separate compilation ... ensuring init/exit sections work to shrink
+ * the runtime footprint, and giving us at least some parts of what
+ * a gcc --combine ... part1.c part2.c part3.c ...  build would.
+ */
+#include composite.c
+#include usbstring.c
+#include config.c
+#include epautoconf.c
+
+#include u_serial.c
+#include f_acm.c
+#include f_ecm.c
+#include f_obex.c
+#include f_serial.c
+#include f_phonet.c
+#include u_ether.c
+
+/*-*/
+
+#define NOKIA_VENDOR_ID0x0421  /* Nokia */
+#define NOKIA_PRODUCT_ID   0x01c8  /* Nokia Gadget */
+
+/* string IDs are assigned dynamically */
+
+#define STRING_MANUFACTURER_IDX0
+#define STRING_PRODUCT_IDX 1
+#define STRING_DESCRIPTION_IDX 2
+
+static char manufacturer_nokia[] = Nokia;
+static const char product_nokia[] = NOKIA_LONG_NAME;
+static const char description_nokia[] = PC-Suite Configuration;
+
+static struct usb_string strings_dev[] = {
+   [STRING_MANUFACTURER_IDX].s = manufacturer_nokia,
+   [STRING_PRODUCT_IDX].s = NOKIA_LONG_NAME,
+   [STRING_DESCRIPTION_IDX].s = description_nokia,
+   {  } /* end of list */
+};
+
+static struct usb_gadget_strings stringtab_dev = {
+   .language   = 0x0409,   /* en-us

patch usb-omap-ohci-hc_driver-s-stop-method-should-call-ohci_stop.patch added to gregkh-2.6 tree

2009-07-15 Thread gregkh

This is a note to let you know that I've just added the patch titled

Subject: USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop

to my gregkh-2.6 tree.  Its filename is

usb-omap-ohci-hc_driver-s-stop-method-should-call-ohci_stop.patch

This tree can be found at 
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/


From gadi...@ti.com  Wed Jul 15 06:34:11 2009
From: Anand Gadiyar gadi...@ti.com
Date: Tue, 14 Jul 2009 16:41:00 +0530
Subject: USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop
To: linux-...@vger.kernel.org linux-...@vger.kernel.org
Cc: dbrown...@users.sourceforge.net dbrown...@users.sourceforge.net, 
linux-omap@vger.kernel.org linux-omap@vger.kernel.org
Message-ID: 5a47e75e594f054baf48c5e4fc4b92ab0305d66...@dbde02.ent.ti.com


From: Anand Gadiyar gadi...@ti.com

OMAP: OHCI: hc_driver's stop method should call ohci_stop

Without this, the ohci-omap driver will not cleanup the debugfs
nodes when the driver is unloaded. So the next insmod will fail,
if CONFIG_DEBUG_FS and CONFIG_USB_DEBUG are both selected.

Reported-by: vikram pandita vikram.pand...@ti.com
Cc: David Brownell dbrown...@users.sourceforge.net
Signed-off-by: Anand Gadiyar gadi...@ti.com
Signed-off-by: Greg Kroah-Hartman gre...@suse.de

---
 drivers/usb/host/ohci-omap.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/usb/host/ohci-omap.c
+++ b/drivers/usb/host/ohci-omap.c
@@ -282,6 +282,7 @@ static int ohci_omap_init(struct usb_hcd
 static void ohci_omap_stop(struct usb_hcd *hcd)
 {
dev_dbg(hcd-self.controller, stopping USB Controller\n);
+   ohci_stop(hcd);
omap_ohci_clock_power(0);
 }
 

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



patch musb-fix-index-register-corruption-seen-with-g_ether-and-windows-host.patch added to gregkh-2.6 tree

2008-08-21 Thread gregkh

This is a note to let you know that I've just added the patch titled

Subject: MUSB: Fix index register corruption seen with g_ether and Windows 
host

to my gregkh-2.6 tree.  Its filename is

musb-fix-index-register-corruption-seen-with-g_ether-and-windows-host.patch

This tree can be found at 
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/


From [EMAIL PROTECTED]  Thu Aug 21 08:40:33 2008
From: Gadiyar, Anand [EMAIL PROTECTED]
Date: Thu, 21 Aug 2008 20:21:00 +0530
Subject: MUSB: Fix index register corruption seen with g_ether and Windows host
To: [EMAIL PROTECTED] [EMAIL PROTECTED], [EMAIL PROTECTED] [EMAIL 
PROTECTED]
Cc: linux-omap@vger.kernel.org linux-omap@vger.kernel.org, [EMAIL 
PROTECTED] [EMAIL PROTECTED], Tony Lindgren [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]


From: Anand Gadiyar [EMAIL PROTECTED]

If Indexed Mode register accesses are enabled, the ep0_rxstate()
function calls musb_g_ep0_giveback() before writing to the CSR
register. When control returns to this ep0_rxstate, the index
register contents are over-written. This causes the CSR register
write to fail.

Fixed by writing the correct value into the index register before
writing to the CSR.

This was observed only in ep0_rxstate() with g_ether loaded and
the device connected to a MS Windows host PC. Anticipatively fixed
ep0_txstate() as well.

Signed-off-by: Anand Gadiyar [EMAIL PROTECTED]
Acked-by: Felipe Balbi [EMAIL PROTECTED]
Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED]

---
 drivers/usb/musb/musb_gadget_ep0.c |2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/usb/musb/musb_gadget_ep0.c
+++ b/drivers/usb/musb/musb_gadget_ep0.c
@@ -476,6 +476,7 @@ static void ep0_rxstate(struct musb *mus
return;
musb-ackpend = 0;
}
+   musb_ep_select(musb-mregs, 0);
musb_writew(regs, MUSB_CSR0, tmp);
 }
 
@@ -528,6 +529,7 @@ static void ep0_txstate(struct musb *mus
}
 
/* send it out, triggering a txpktrdy cleared irq */
+   musb_ep_select(musb-mregs, 0);
musb_writew(regs, MUSB_CSR0, csr);
 }
 


Patches currently in gregkh-2.6 which might be from [EMAIL PROTECTED] are

usb.current/usb-musb-get-rid-of-musb_loglevel-and-use-parameter.patch
usb.current/usb-musb-get-rid-of-procfs-entry.patch
usb.current/musb-fix-index-register-corruption-seen-with-g_ether-and-windows-host.patch
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html