kref_put(&serial->parent->ref, hso_serial_ref_free);
> >
> > after hso_serial_ref_free has been called, which dereferences a freed
> > pointer.
> >
> > This patch adds the missing kref_get().
> >
> > Fixes: commit 29bd3bc1194c624ce863cab2a7d
in calls to
> >kref_put(&serial->parent->ref, hso_serial_ref_free);
> >
> > after hso_serial_ref_free has been called, which dereferences a freed
> > pointer.
> >
> > This patch adds the missing kref_get().
> >
> > Fixes: commit 29bd3bc1194c6
Hello Dan,
On Fri, Jan 30, 2015 at 09:47:59AM -0600, Dan Williams wrote:
> On Fri, 2015-01-30 at 13:22 +0100, Olivier Sobrie wrote:
> > By using only the usb interface number for the rfkill name, we might
> > have a name conflicts in case two similar hso devices are connected.
&
fix the issue.
See http://marc.info/?l=linux-usb&m=142186699418489 for more info.
- Added an extra patch avoiding name conflicts for the rfkill interface.
Olivier Sobrie (11):
hso: remove useless header file timer.h
hso: fix crash when device disappears while serial port is open
is called
at the end of the hangup process and we drop the last kref in this
function when all the ports have been closed, when tty_port is no
more needed and when it is safe to free the structure containing the
tty_port structure.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 17
No timer related function is used in this driver.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index babda7d..cb0bcc1 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
When the rfkill interface was created, a buffer containing the name
of the rfkill node was allocated. This buffer was never freed when the
device disappears.
To fix the problem, we put the name given to rfkill_alloc() in
the hso_net structure.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb
In the disconnect path, tx_buffer should freed like tx_data to avoid
a memory leak when the device disconnects.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 3a6c630..470ef9e 100644
Simply remove the useless extra tab.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index a49ac2e..2f2343d 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb
x3d8/0x560)
[] (worker_thread) from [] (kthread+0xc0/0xcc)
[] (kthread) from [] (ret_from_fork+0x14/0x24)
---[ end trace cb88537fdc8fa208 ]---
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/usb/hso.c
There is no need for a dedicated reset work in the hso driver since
there is already a reset work foreseen in usb_interface that does
the same.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 25 +
1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a
In other functions of the driver, variables of type "struct hso_serial"
are denoted by "serial" and variables of type "struct hso_device" are
denoted by "hso_dev". This patch makes the hso_free_interface()
consistent with these notations.
Signed-off-by: Ol
For hso serial devices, two cancel_work_sync were missing in the
disconnect method.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index c916ab5..c14fc80 100644
--- a/drivers/net/usb
for serial port linked to usb interface "x"
and possibly crash because the tty_port structure contained in the
hso_device structure has been freed.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/us
: Dan Williams
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index c14fc80..d31a165 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -153,7 +153,7
Hello Alan,
On Tue, Jan 20, 2015 at 10:26:30AM -0500, Alan Stern wrote:
> On Tue, 20 Jan 2015, Olivier Sobrie wrote:
>
> > When usb_queue_reset() is called it schedules a work in view of
> > resetting the usb interface. When the reset work is running, it
> > can be sche
On Tue, Jan 20, 2015 at 10:26:30AM -0500, Alan Stern wrote:
> On Tue, 20 Jan 2015, Olivier Sobrie wrote:
>
> > When usb_queue_reset() is called it schedules a work in view of
> > resetting the usb interface. When the reset work is running, it
> > can be scheduled again (e.
On Tue, Jan 20, 2015 at 02:13:17PM +0100, Oliver Neukum wrote:
> On Tue, 2015-01-20 at 13:29 +0100, Olivier Sobrie wrote:
> > When the rfkill interface was created, a buffer containing the name
> > of the rfkill node was allocated. This buffer was never freed when the
> &
Hi Oliver,
On Tue, Jan 20, 2015 at 02:48:37PM +0100, Oliver Neukum wrote:
> On Tue, 2015-01-20 at 13:29 +0100, Olivier Sobrie wrote:
> > When usb_queue_reset() is called it schedules a work in view of
> > resetting the usb interface. When the reset work is running, it
> > c
queued on an usb interface.
This serie of patches is based on v3.18.
Olivier Sobrie (11):
hso: remove useless header file timer.h
hso: fix crash when device disappears while serial port is open
hso: fix memory leak when device disconnects
hso: fix memory leak in hso_create_rfkill()
hso: fix
is called
at the end of the hangup process and we drop the last kref in this
function when all the ports have been closed, when tty_port is no
more needed and when it is safe to free the structure containing the
tty_port structure.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 17
When the rfkill interface was created, a buffer containing the name
of the rfkill node was allocated. This buffer was never freed when the
device disappears.
To fix the problem, we put the name given to rfkill_alloc() in
the hso_net structure.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb
In the disconnect path, tx_buffer should freed like tx_data to avoid
a memory leak when the device disconnects.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 3a6c630..470ef9e 100644
No timer related function is used in this driver.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index babda7d..cb0bcc1 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
x3d8/0x560)
[] (worker_thread) from [] (kthread+0xc0/0xcc)
[] (kthread) from [] (ret_from_fork+0x14/0x24)
---[ end trace cb88537fdc8fa208 ]---
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/usb/hso.c
There is no need for a dedicated reset work in the hso driver since
there is already a reset work foreseen in usb_interface that does
the same.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 25 +
1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a
for serial port linked to usb interface "x"
and possibly crash because the tty_port structure contained in the
hso_device structure has been freed.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/us
work that should be run
To avoid this problem, we use a delayed work so that if the reset
work is currently run, we can avoid further call to
__usb_queue_reset_device() work by using cancel_delayed_work().
Unfortunately it increases the size of the usb_interface structure...
Signed-off-by: O
Simply remove the useless extra tab.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index a49ac2e..2f2343d 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb
For hso serial devices, two cancel_work_sync were missing in the
disconnect method.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index c916ab5..c14fc80 100644
--- a/drivers/net/usb
In other functions of the driver, variables of type "struct hso_serial"
are denoted by "serial" and variables of type "struct hso_device" are
denoted by "hso_dev". This patch makes the hso_free_interface()
consistent with these notations.
Signed-off-by: Ol
Hello,
On Mon, Jan 12, 2015 at 05:14:07AM -0500, Ahmed S. Darwish wrote:
> On Sun, Jan 11, 2015 at 09:51:10PM +0100, Marc Kleine-Budde wrote:
> > On 01/11/2015 09:45 PM, Ahmed S. Darwish wrote:
> > > From: Ahmed S. Darwish
> > >
> > > (This is a draft patch, I'm not sure if this fixes the USB
>
oom in the tty buffer, discards all the data
received in the URB.
Cc: David Miller
Cc: David Laight
Cc: One Thousand Gnomes
Cc: Dan Williams
Cc: Jan Dumon
Signed-off-by: Olivier Sobrie
---
Changes in v2:
- remove the unthrottle timer added in the previous patch version
- drop entire rx u
The workqueue "retry_unthrottle_workqueue" is not scheduled anywhere
in the code. So, remove it.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 12
1 file changed, 12 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index a3a0586..9ca2
oom in the tty buffer, discards all the data
received in the URB.
Cc: David Miller
Cc: David Laight
Cc: One Thousand Gnomes
Cc: Dan Williams
Cc: Jan Dumon
Signed-off-by: Olivier Sobrie
---
Changes in v2:
- remove the unthrottle timer added in the previous patch version
- drop entire rx u
On Fri, Jul 11, 2014 at 09:28:47AM +, David Laight wrote:
> From: Olivier Sobrie Olivier Sobrie
> > Hi Alan and Davids,
> >
> > On Thu, Jul 10, 2014 at 04:50:03PM +0100, One Thousand Gnomes wrote:
> > > On Thu, 10 Jul 2014 14:37:37 +
> > > David Lai
Hi Alan and Davids,
On Thu, Jul 10, 2014 at 04:50:03PM +0100, One Thousand Gnomes wrote:
> On Thu, 10 Jul 2014 14:37:37 +
> David Laight wrote:
>
> > From: Olivier Sobrie
> > ...
> > > The function put_rxbuf_data() is called from the urb completion handler.
>
Hi David,
On Tue, Jul 08, 2014 at 04:16:33PM -0700, David Miller wrote:
> From: Olivier Sobrie
> Date: Mon, 7 Jul 2014 11:06:07 +0200
>
> > When the module sends bursts of data, sometimes a deadlock happens in
> > the hso driver when the tty buffer doesn't ge
Hi Dan,
On Mon, Jul 07, 2014 at 11:41:20AM -0500, Dan Williams wrote:
> On Mon, 2014-07-07 at 11:06 +0200, Olivier Sobrie wrote:
> > When the module sends bursts of data, sometimes a deadlock happens in
> > the hso driver when the tty buffer doesn't get the chance to be flushe
On Mon, Jul 07, 2014 at 12:55:44PM +, David Laight wrote:
> From: Olivier Sobrie
> > Hi David,
> >
> > On Mon, Jul 07, 2014 at 09:13:53AM +, David Laight wrote:
> > > From: Olivier Sobrie
> > > > When the module sends bursts of data, sometimes a
Hi David,
On Mon, Jul 07, 2014 at 09:13:53AM +, David Laight wrote:
> From: Olivier Sobrie
> > When the module sends bursts of data, sometimes a deadlock happens in
> > the hso driver when the tty buffer doesn't get the chance to be flushed
> > quickly enough.
>
re is no room anymore in the tty buffer, we set up a
timer of 100 msecs to give a chance to the upper layer to flush the tty
buffer and make room for new data.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 51 +
1 file change
The workqueue "retry_unthrottle_workqueue" is not scheduled anywhere
in the code. So, remove it.
Signed-off-by: Olivier Sobrie
---
drivers/net/usb/hso.c | 12
1 file changed, 12 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index a3a0586..9ca2
e
stack (&msg)
See "Documentation/DMA-API-HOWTO.txt" section "What memory is DMA'able?"
Signed-off-by: Olivier Sobrie
Cc: Matthias Fuchs
---
drivers/net/can/usb/esd_usb2.c | 127
1 file changed, 76 insertions(+), 51 deletions(
On Fri, Nov 23, 2012 at 03:08:08PM +0100, Marc Kleine-Budde wrote:
> On 11/23/2012 02:54 PM, Olivier Sobrie wrote:
> > The dma buffer given to usb_bulk_msg() must be allocated and not on
> > the stack.
> > See Documentation/DMA-API-HOWTO.txt section "What memory is DMA&
The dma buffer given to usb_bulk_msg() must be allocated and not on
the stack.
See Documentation/DMA-API-HOWTO.txt section "What memory is DMA'able?"
Signed-off-by: Olivier Sobrie
---
drivers/net/can/usb/kvaser_usb.c | 111 --
1 file changed
On Fri, Nov 23, 2012 at 02:30:28PM +0100, Olivier Sobrie wrote:
> The dma buffer given to usb_bulk_msg() must be allocated and not on
> the stack.
> See Documentation/DMA-API-HOWTO.txt section "What memory is DMA'able?"
>
> Signed-off-by: Olivier Sobrie
> --
The dma buffer given to usb_bulk_msg() must be allocated and not on
the stack.
See Documentation/DMA-API-HOWTO.txt section "What memory is DMA'able?"
Signed-off-by: Olivier Sobrie
---
Here is the incremental patch.
Thank you Greg !
Olivier
drivers/net/can/usb/kvas
g/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=32ec4576c3fb37316b1d11a04b220527822f3f0d
Thanks,
Olivier
On Wed, Nov 21, 2012 at 08:11:13AM +0100, Olivier Sobrie wrote:
> This driver provides support for several Kvaser CAN/USB devices.
> Such kind of devices supports up to three C
f this driver are based on the following:
+ * - Kvaser linux leaf driver (version 4.78)
+ * - CAN driver for esd CAN-USB/2
+ *
+ * Copyright (C) 2002-2006 KVASER AB, Sweden. All rights reserved.
+ * Copyright (C) 2010 Matthias Fuchs , esd gmbh
+ * Copyright (C) 2012 Olivier Sobrie
+ */
+
+#include
+#
Hi Marc,
On Wed, Nov 07, 2012 at 09:29:05PM +0100, Marc Kleine-Budde wrote:
> On 10/02/2012 09:16 AM, Olivier Sobrie wrote:
> > This driver provides support for several Kvaser CAN/USB devices.
> > Such kind of devices supports up to three CAN network interfaces.
> >
> >
6 KVASER AB, Sweden. All rights reserved.
+ * Copyright (C) 2010 Matthias Fuchs , esd gmbh
+ * Copyright (C) 2012 Olivier Sobrie
+ */
+
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+
+#define MAX_TX_URBS16
+#define MAX_RX_URBS
Hi Marc and Wolfgang,
On Sat, Sep 22, 2012 at 06:02:14PM +0200, Wolfgang Grandegger wrote:
> On 09/21/2012 11:54 AM, Marc Kleine-Budde wrote:
> > On 09/20/2012 07:06 AM, Olivier Sobrie wrote:
> >> This driver provides support for several Kvaser CAN/USB devices.
> >> Su
BlackBird SemiPro
- Kvaser OEM Mercury
- Kvaser OEM Leaf
- Kvaser USBcan R
Signed-off-by: Olivier Sobrie
---
Changes since v3:
- add support for CMD_LOG_MESSAGE
drivers/net/can/usb/Kconfig | 33 +
drivers/net/can/usb/Makefile |1 +
drivers/net/can/usb/kvaser_us
BlackBird SemiPro
- Kvaser OEM Mercury
- Kvaser OEM Leaf
- Kvaser USBcan R
Signed-off-by: Olivier Sobrie
---
Changes since v2:
- update of error handling
- add method do_get_berr_counter if hardware support it
- fix race condition in probe function
- ...
Here is the behavior in case
On Wed, Aug 08, 2012 at 10:25:35AM +0200, Wolfgang Grandegger wrote:
> Hi Oliver,
>
> On 08/08/2012 08:14 AM, Olivier Sobrie wrote:
> > Hi Wolfgang,
> >
> > On Tue, Aug 07, 2012 at 08:26:38AM +0200, Wolfgang Grandegger wrote:
> >> On 08/06/2012 07:21 AM, Oli
Hi Wolfgang,
On Tue, Aug 07, 2012 at 08:26:38AM +0200, Wolfgang Grandegger wrote:
> On 08/06/2012 07:21 AM, Olivier Sobrie wrote:
> > This driver provides support for several Kvaser CAN/USB devices.
> > Such kind of devices supports up to three can network interfaces.
>
>
Hi Oliver,
On Mon, Aug 06, 2012 at 10:10:43AM +0200, Oliver Neukum wrote:
> On Monday 06 August 2012 07:21:29 Olivier Sobrie wrote:
> > This driver provides support for several Kvaser CAN/USB devices.
> > Such kind of devices supports up to three can network interfaces.
>
BlackBird SemiPro
- Kvaser OEM Mercury
- Kvaser OEM Leaf
- Kvaser USBcan R
Signed-off-by: Olivier Sobrie
---
Changes since v1:
- added copyrights
- kvaser_usb.h merged into kvaser.c
- added kvaser_usb_get_endpoints to find eindpoints instead of
hardcoding their address
- some c
59 matches
Mail list logo