S, but other than that, the
existing code is as it must be.
Regards
Oliver
igger this with a module parameter.
We cannot just use another driver because the user block a module
load.
Regards
Oliver
Am Mittwoch, den 26.06.2019, 13:41 +0200 schrieb Johan Hovold:
> On Wed, Jun 26, 2019 at 01:04:07PM +0200, Oliver Neukum wrote:
> > Am Dienstag, den 25.06.2019, 09:04 +0200 schrieb Johan Hovold:
> > > On Mon, Jun 24, 2019 at 10:33:23AM +0200, Oliver Neukum wrote:
> > > &
l, this kind of indicates that the original syscall should bump
the counter.
> returns, unless your program has decided not to use the device any more
> (in which case you don't care whether the device is suspended or
> resumed).
Then you should close the device.
Regards
Oliver
Am Dienstag, den 25.06.2019, 09:04 +0200 schrieb Johan Hovold:
> On Mon, Jun 24, 2019 at 10:33:23AM +0200, Oliver Neukum wrote:
> > If you deregister a device you need to wake up all waiters
> > as there will be no further wakeups.
> >
> > Signed-off-by: Oliver Neukum
d? The poll() call
> wouldn't return and the program would just stop working.
Well, that is why you can poll for multiple events at the same
time and the syscall has a timeout.
> > 2. Is it safe to wait for udev->state to be of a particular value?
>
> No, not really, because the state can change.
That is a general issue with poll. You cannot be sure that there
is still data to be read when you are ready to read.
Regards
Oliver
If you deregister a device you need to wake up all waiters
as there will be no further wakeups.
Signed-off-by: Oliver Neukum
---
drivers/gnss/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gnss/core.c b/drivers/gnss/core.c
index e6f94501cb28..0d13bd2cefd5
Am Mittwoch, den 19.06.2019, 10:40 -0400 schrieb Alan Stern:
> On Wed, 19 Jun 2019, Oliver Neukum wrote:
> > It would be easiest to export the usb_autopm_* API to user space.
>
> But ->suspend and ->resume callbacks are part of that API, and as you
> say, it is no
d in fundamental issues. We can let user
space block power transitions. We can notify it. But we cannot
block on it.
It would be easiest to export the usb_autopm_* API to user space.
Regards
Oliver
Am Dienstag, den 18.06.2019, 11:29 -0400 schrieb Alan Stern:
> On Tue, 18 Jun 2019, Oliver Neukum wrote:
>
> > Hi,
> >
> > looking at those deadlocks it looks to me like UAS can
> > deadlock on itself. What do you think?
> >
> > Rega
Hi,
looking at those deadlocks it looks to me like UAS can
deadlock on itself. What do you think?
Regards
Oliver
>From 2d497f662e6c03fe9e0a75e05b64d52514e890b3 Mon Sep 17 00:00:00 2001
From: Oliver Neukum
Date: Tue, 18 Jun 2019 15:03:56 +0200
Subject: [PATCH] UAS:
, it uses
simple schedule_work(). Hence the work lands on system_wq,
shared with arbitrary works */
kmalloc(... , GFP_KERNEL) -> usb_storage or uas ->
usb_autopm_get_interface() -> DEADLOCK
I think you need to use a dedicated workqueue for the hub driver.
Regards
Oliver
s incomplete (likely you need to run it as root), so
nobody can say what's wrong with your descriptors.
HTH
Oliver
If you do not find the OUT endpoint, you should say so,
rather than copy the error message for the IN endpoint.
Presumably a copy and paste error.
Signed-off-by: Oliver Neukum
---
drivers/net/usb/hso.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/usb/hso.c b
If you do not find the OUT endpoint, you should say so,
rather than copy the error message for the IN endpoint.
Presumably a copy and paste error.
Signed-off-by: Oliver Neukum
---
drivers/net/usb/hso.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/usb/hso.c b
Am Montag, den 03.06.2019, 19:55 +0200 schrieb Marco Zatta:
> On Mon, Jun 03, 2019 at 11:58:10AM +0200, Oliver Neukum wrote:
> > Are you sure only the C270 is affected?
> >
> > Regards
> > Oliver
>
> Hello Oliver,
>
> No, unfortunately I am
5f0d397bdacfdfc but it was then reintroduced by
> e387ef5c47ddeaeaa3cbdc54424cdb7a28dae2c0. This patch is to have the fix
> back.
Are you sure only the C270 is affected?
Regards
Oliver
tion of the system. It makes me
wonder about power management operations.
Could you test S3 or S4 with your drive in the locked state?
If there is an error, could you test the attached patch?
Regards
Oliver
From 499d60018326c7e8b7922b0887cfd9456e765c45 Mon Sep 17 00:00:00 2001
end a v3 in this case?
It will make things easier for Dave to pick up.
Regards
Oliver
On Do, 2019-05-16 at 07:10 +, Kloetzke Jan wrote:
> Am Montag, den 06.05.2019, 10:17 +0200 schrieb Oliver Neukum:
> > On So, 2019-05-05 at 00:45 -0700, David Miller wrote:
> > > From: Kloetzke Jan
> > > Date: Tue, 30 Apr 2019 14:15:07 +
> > >
> &
On Do, 2019-05-16 at 14:29 +0200, starost...@gmail.com wrote:
> Dne 16.5.2019 v 10:34 Oliver Neukum napsal(a):
> > Mention
> >
> > 1. kernel version
> > 2. whether this is known to be a regression
>
> Sorry for question, can you more specify what you mean
On Do, 2019-05-16 at 10:20 +0200, starost...@gmail.com wrote:
> Dne 16.5.2019 v 9:58 Oliver Neukum napsal(a):
> > > > 2.Send a new report to the corresponding mailing list
> > >
> > > Which mailing list is correct?
> >
> > In that ca
On Mi, 2019-05-15 at 16:15 +0200, starost...@gmail.com wrote:
> Dne 15.5.2019 v 15:54 Oliver Neukum napsal(a):
> > 1. Determine whether the bug depends on the use of an IOMMU
>
> No, bug not depends on the use of an IOMMU. System crash on both cases.
Interesting.
> > 2
On Mi, 2019-05-15 at 09:54 +0200, starost...@gmail.com wrote:
> Hello,
> can I still help with this problem? It's very important for us. Thank you.
Your first step would be t verify whether your kernel has the
fix coming in the patch Joerg mentioned.
Regards
Oliver
The pointer used to log a failure of usb_register_dev() must
be set before the error is logged.
v2: fix that minor is not available before registration
Signed-off-by: oliver Neukum
Reported-by: syzbot+a0cbdbd6d169020c8...@syzkaller.appspotmail.com
Fixes: 7b5cd5fefbe02 ("USB: SisUSB2VGA: Co
The pointer used to log a failure of usb_register_dev() must
be set before the error is logged.
Signed-off-by: oliver Neukum
Reported-by: syzbot+a0cbdbd6d169020c8...@syzkaller.appspotmail.com
Fixes: 7b5cd5fefbe02 ("USB: SisUSB2VGA: Convert printk to dev_* macros")
---
drivers/usb/misc
Added the newly added limit and updated the text a bit
Signed-off-by: Oliver Neukum
---
Documentation/usb/rio.txt | 66 ++-
1 file changed, 13 insertions(+), 53 deletions(-)
diff --git a/Documentation/usb/rio.txt b/Documentation/usb/rio.txt
index
Admitting that there can be only one device allows us
to drop any pretense about locking one device or
a table of devices.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 43 ---
1 file changed, 16 insertions(+), 27 deletions(-)
diff --git a
If a disconnected device is closed, rio_close() must free
the buffers.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 17 +++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
index fa921ae60ffa
Added the newly added limit and updated the text a bit
Signed-off-by: Oliver Neukum
---
Documentation/usb/rio.txt | 66 ++-
1 file changed, 13 insertions(+), 53 deletions(-)
diff --git a/Documentation/usb/rio.txt b/Documentation/usb/rio.txt
index
This driver is using a global variable. It cannot handle more than
one device at a time. The issue has been existing since the dawn
of the driver.
V2: Fixed locking in probe()
Fixed Documentation
V3: Fixed formatting of Documentation
Signed-off-by: Oliver Neukum
Reported-by: syzbot
This driver is using a global variable. It cannot handle more than
one device at a time. The issue has been existing since the dawn
of the driver.
V2: Fixed locking in probe()
Fixed Documentation
Signed-off-by: Oliver Neukum
Reported-by: syzbot+35f04d136fc975a70...@syzkaller.appspotmail.com
If a disconnected device is closed, rio_close() must free
the buffers.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 17 +++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
index fa921ae60ffa
Admitting that there can be only one device allows us
to drop any pretense about locking one device or
a table of devices.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 43 ---
1 file changed, 16 insertions(+), 27 deletions(-)
diff --git a
Added the newly added limit and updated the text a bit
Signed-off-by: Oliver Neukum
---
Documentation/usb/rio.txt | 54 +--
1 file changed, 15 insertions(+), 39 deletions(-)
diff --git a/Documentation/usb/rio.txt b/Documentation/usb/rio.txt
index
This driver is using a global variable. It cannot handle more than
one device at a time. The issue has been existing since the dawn
of the driver.
V2: Fixed locking in probe()
Fixed Documentation
Signed-off-by: Oliver Neukum
Reported-by: syzbot+35f04d136fc975a70...@syzkaller.appspotmail.com
Admitting that there can be only one device allows us
to drop any pretense about locking one device or
a table of devices.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 43 ---
1 file changed, 16 insertions(+), 27 deletions(-)
diff --git a
If a disconnected device is closed, rio_close() must free
the buffers.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 17 +++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
index fa921ae60ffa
If a disconnected device is closed, rio_close() must free
the buffers.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 17 +++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
index a4b6fbea975f
Admitting that there can be only one device allows us
to drop any pretense about locking one device or
a table of devices.
Signed-off-by: Oliver Neukum
---
drivers/usb/misc/rio500.c | 43 ---
1 file changed, 16 insertions(+), 27 deletions(-)
diff --git a
This driver is using a global variable. It cannot handle more than
one device at a time. The issue has been exisying since the dawn
of the driver.
Signed-off-by: Oliver Neukum
Reported-by: syzbot+35f04d136fc975a70...@syzkaller.appspotmail.com
---
drivers/usb/misc/rio500.c | 7 ++-
1 file
been existing since the inception of the driver.
v2: improved comments
v3: removed vi artifacts from log text
Fixes: 115bb1ffa54c ("USB: Add UAS driver")
Signed-off-by: Oliver Neukum
---
drivers/usb/storage/uas.c | 35 ++-
1 file changed, 22 inserti
been existing since the inception of the driver.
Fixes: 115bb1ffa54ac ("USB: Add UAS driver")
Signed-off-by: Oliver Neukum
---
drivers/usb/storage/uas.c | 35 ++-
1 file changed, 22 insertions(+), 13 deletions(-)
diff --git a/drivers/usb/storage/uas.c
On Mo, 2019-04-29 at 13:55 -0400, Alan Stern wrote:
> On Mon, 29 Apr 2019, Oliver Neukum wrote:
>
> > On Mo, 2019-04-29 at 12:08 -0400, Alan Stern wrote:
> > > On Mon, 29 Apr 2019, Oliver Neukum wrote:
> > >
> > > > On Mo, 2019-04-29 at 15:06 +,
On Mo, 2019-04-29 at 12:08 -0400, Alan Stern wrote:
> On Mon, 29 Apr 2019, Oliver Neukum wrote:
>
> > On Mo, 2019-04-29 at 15:06 +, David Laight wrote:
>
> > But the statement the old comment made are no longer correct.
>
> Perhaps David would be satisfied if the
On Mo, 2019-04-29 at 15:06 +, David Laight wrote:
> From: Oliver Neukum
> > On Mo, 2019-04-29 at 14:19 +, David Laight wrote:
> > AFAICT controllers do not export that property.
>
> Perhaps they need to
Feel free to make a patch.
> > > Even if you d
On Mo, 2019-04-29 at 14:19 +, David Laight wrote:
> From: Oliver Neukum
> > Sent: 29 April 2019 14:38
> > On Mo, 2019-04-29 at 13:31 +, David Laight wrote:
> > > From: Oliver Neukum
> > > >
> > > > +* USB has unusual scatter-
On Mo, 2019-04-29 at 13:31 +, David Laight wrote:
> From: Oliver Neukum
> >
> > +* USB has unusual scatter-gather requirements: the length of each
> > +* scatterlist element except the last must be divisible by the
> > +* Bulk maxpacket value. Fortuna
-by: Oliver Neukum
---
drivers/usb/storage/uas.c | 26 --
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 6d71b8fff9df..ec9c1c7bb156 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage
te that the first race was fixed by 36e59e0d70d6 ("cdc-acm: fix
> race between callback and unthrottle") back in 2015, but the bug was
> reintroduced a year later.
>
> Fixes: 1aba579f3cf5 ("cdc-acm: handle read pipe errors")
> Fixes: 088c64f81284 ("USB: cdc-acm: re-write read processing")
> Signed-off-by: Johan Hovold
Acked-by: Oliver Neukum
t the throttled flag to an atomic bit flag.
>
> Signed-off-by: Johan Hovold
Acked-by: Oliver Neukum
_mb()?
Otherwise it looks correct to me.
Regards
Oliver
microframes each 1ms, so 8*1000 = 8000 interrupts/s
The remedy for that would be using autosuspend. That just tells us that
support for autosuspend is not optional.
Regards
Oliver
On Fr, 2019-04-05 at 17:09 +0200, Linus K. wrote:
> Hi,
> I recently submitted this bug to https://bugzilla.kernel.org/ and was
> redirected here.
Hi,
does your kernel have
commit df3aa13c7bbb307e172c37f193f9a7aa058d4739
Author: Oliver Neukum
Date: Wed Sep 5 17:56:46 2
XA_LIMIT(0, ACM_TTY_MINORS - 1), GFP_KERNEL);
>
> So, the only thing "better" here is that you don't need a lock anymore?
Once this is accepted I can reduce the locking to a per instance
spinlock. But to start with a straight conversion is best.
Regards
Oliver
On Mo, 2019-03-18 at 14:17 -0700, Matthew Wilcox wrote:
> Signed-off-by: Matthew Wilcox
Straight replacement. Looks fine to me. But without
a commit message Greg would dismember both of us.
Regards
Oliver
Yes. Something like
XARRAy is a replacement for radix trees. Convert this subsystem.
Part of a project for the whole kernel.
Regards
Oliver
; developers are too.
Hi,
there is a reasonable chance you get the relevant people on linux-pci.
HTH
Oliver
e an error.
NACK
Sorry
Oliver
Hey,
I'm trying to use a composite gadget on a embedded linux platform using
configfs. The kernel-doc was fine and I can now create my gadgets as needed.
One big drawback is that the host_addr and dev_addr change on every start.
So I tried to change them, without success:
* Most web documentati
On Sa, 2019-03-02 at 15:36 +0100, Greg Kroah-Hartman wrote:
> On Sat, Mar 02, 2019 at 02:51:41PM +0100, Oliver Neukum wrote:
> > On Sa, 2019-03-02 at 09:00 +0100, Greg Kroah-Hartman wrote:
> > > On Fri, Mar 01, 2019 at 08:44:13PM +0100, Oliver Neukum wrote:
> > > > On
On Sa, 2019-03-02 at 09:00 +0100, Greg Kroah-Hartman wrote:
> On Fri, Mar 01, 2019 at 08:44:13PM +0100, Oliver Neukum wrote:
> > On Fr, 2019-03-01 at 18:22 +0100, Greg Kroah-Hartman wrote:
> > > By moving one field around in 'struct urb' we reduce the size of th
On Fr, 2019-03-01 at 18:22 +0100, Greg Kroah-Hartman wrote:
> By moving one field around in 'struct urb' we reduce the size of the
> structure by 8 bytes.
If you are going for this I have to ask why unlink and status
are full size ints anyway.
Regards
Oliver
memory pressure the system is writing
out dirty pages, either to swap or a file.
The SCSI layer can deal with blocked devices, but at some point,
you need to make progress.
In other words, the critical case is with GFP_NOIO. I think
GFP_KERNEL will not realistically fail. GFP_NOIO, now that is
a different question.
Regards
Oliver
e time (seconds potentially).
Regards
Oliver
On Do, 2019-02-21 at 09:45 +, Jorge Augusto wrote:
> Dear Oliver Neukum,
> Thank you for your reply
>
> I can't tell you if is a regression because is the first time I try to
> use Linux in this Laptop
> Yesterday I tried with kernel 4.10.0-38-generic and gave same
ression from an earlier kernel version your mouse
worked with?
2. Please post full dmesg
3. Please post " lspci -vn"
Regards
Oliver
Tested on a CP2102N.
Hi,
your patch is looking good to me, but I am afraid there are issues.
How do the GPIO lines on the device interact with USB reset and system
suspend?
Regards
Oliver
BND_MASK) == 0 && (ocp_data & BD_MASK)) {
> + if ((ocp_data & BND_MASK) == 0 && (ocp_data & BD_MASK) == 0) {
You are inverting the second half of the test. How can this possibly be
right? Had you dropped it, I would understand. But this? Are you sure?
Regards
Oliver
On Mi, 2019-02-06 at 13:39 -0800, Ajay Gupta wrote:
> From: Ajay Gupta
Hi,
>
> CCGx has two copies of the firmware in addition to the bootloader.
> If the device is running FW1, FW2 can be updated with the new version.
> Dual firmware mode allows the CCG device to stay in a PD contract and
> su
same
> problem.
OK, then we need logs of the failure case. A usbmon trace and dmesg
with debugging enabled
echo "module xhci_hcd +mfp" > /sys/kernel/debug/dynamic_debug/control
echo "module xhci_pci +mfp" > /sys/kernel/debug/dynamic_debug/control
echo "module usbcore +mfp" > /sys/kernel/debug/dynamic_debug/control
Regards
Oliver
sb-storage, 5000M
According to the dmesg you attached, the device is detected.
Please clarify what exactly you attached.
Regards
Oliver
@ MODULE_DEVICE_TABLE(usb, sddr55_usb_ids);
> > }
> >
> > static struct us_unusual_dev sddr55_unusual_dev_list[] = {
> > -# include "unusual_sddr55.h"
> > { } /* Terminating entry */
> > };
>
> As Oliver said on the other pat
xhci_mod_cmd_timer(xhci, XHCI_CMD_DEFAULT_TIMEOUT);
xhci_ring_cmd_db(xhci);
}
Something looks fishy to me. The timer is started before the door bell
is rung. I cannot see how you can guarantee the timeout given that
order. Should it be reversed?
Regards
Oliver
mpshot_unusual_dev_list[] = {
> -#include "unusual_jumpshot.h"
> { } /* Terminating entry */
> };
>
NACK.
It is included twice because the same device needs to be specified
and is quirky. You are breaking the driver.
Regards
Oliver
On Mo, 2019-01-07 at 13:59 -0500, Alan Stern wrote:
> On Mon, 7 Jan 2019, Greg KH wrote:
>
>
> > What ever happened to this patch? Is it still needed? Oliver and Alan,
> > any objections about it anymore?
>
> I have just one very minor nit to pick (see below). Mo
ks in probe be moved before registration?
> No noticeable difference for the devices at hand.
That is quite drastic a change.
Johan, how complete in terms of features is serdev?
Are you refering to CLEAR_HALT_CONDITIONS in terms of quirks?
Regards
Oliver
%c =%u %s (%u)\n", picodev->rx_buf[0],
> + (unsigned int)picodev->rx_buf[3],
> + (picodev->rx_buf[3] == 1) ? "OK" : "K0",
> + data_len);
> + for (i = 0; i < data_len; i++) {
> + //dev_dbg(dev, "%s: %02x\n", __func__, (unsigned
> int)picodev->rx_buf[4 + i]);
> + }
> +
> + complete(&picodev->answer_comp);
> + ret =
> wait_for_completion_interruptible_timeout(&picodev->answer_read_comp, HZ / 2);
Problematic. You have no idea when that complete() will have an effect.
You are operating with an undefined timeout here. Theoretically it
could be negative.
Regards
Oliver
return 0;
> }
>
> -static int smsc95xx_reset(struct usbnet *dev)
> +static int smsc95xx_reset_pre(struct usbnet *dev)
Hi,
may I request that you choose different names? These names suggest a
connection with the pre_reset() and post_reset() methods of a USB
driver.
Regards
Oliver
isely when it is needed. The driver will never
dedalock, but you will cause numerous races.
I must suggest to simply drop this part and redo the series.
Regards
Oliver
ame minor numbers.
> > Changes for v6:
> > - Update VID/PID:0x0e8d/0x0003 as Mediatek Inc BROM.
> > - Update VID/PID:0x0e8d/0x2000 as Mediatek Inc Preloader.
> > Changes for v7:
> > - Keep VID/PID:0x0e8d/0x0003 unchanged because of 2 different UNION
> >descriptor implementated in Mediatek Inc BROM (MT6589/MT6765).
>
> Reviewed-by: Johan Hovold
Acked-by: Oliver Neukum
ed. I'll trying to report it to BROM team and see
> if they have any action on this issue.
Thank you all for taking care of these important issues.
Please submit that new patch.
Regards
Oliver
rong and definitely requires a motivation.
>
> Thanks,
> Johan
>
Hi,
thank you and thank you Johan.
Unfortunately I cannot take this until the issue with the removed
quirk is clarified.
Regards
Oliver
broken_suspend flag seems to break every
usage of the priv member of struct xhci_hcd.
Are you sure that is a good idea?
Regards
Oliver
ecide on a sensible default anyway?
Regards
Oliver
to stable.
2. Do not check for exact match on your quirk. That will prevent
combining quirks. Please test for the specific bit being set.
>
>
> + /* handle active handshake triggered by device */
> + if (quirks == DISABLE_ECHO)
This test is too specific.
> + acm_tty_driver->init_termios.c_lflag &= ~(ECHO);
> +
Regards
Oliver
On Do, 2018-11-22 at 12:06 +0100, Frédéric Parrenin wrote:
> Le 22/11/2018 à 11:22, Oliver Neukum a écrit :
> > On Mi, 2018-11-21 at 16:50 +0100, Frédéric Parrenin wrote:
> > > which over rides the Mac on the dock. So, the answer is, "it's not an
> > &
uth?
For pass thru you must meet multiple conditions:
/* if this is not an RTL8153-AD, no eFuse mac passthru set,
* or system doesn't provide valid _SB.AMAC this will be
* be expected to non-zero
*/>
They can be manually verified. Do you need a debugging patch?
Regards
Oliver
b);
> hub_activate(hub, HUB_POST_RESET); //clears quiesce
> return 0;
> }
>
> I should be OK isn't it?
Sorry, yes, I overlooked that there are two flags.
Regards
Oliver
are
> ignored, rendering the device unresponsive. All further events are lost.
>
Hi,
almost. There is no point in kicking of an error handling while aq
reset is underway. You are checking only "quiescing" but not
"in_reset".
Regards
Oliver
patch on my local system and am therefore
> sumbitting the patch for formal inclusion in the kernel.
>
> Signed-off-by: Maarten Jacobs
Acked-by: Oliver Neukum
> ---
> drivers/usb/class/cdc-acm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/cla
{
The problem with doing such things is that the interrupt and the
disconnect can run on two different CPUs. Thus if you use a flag
you need to make sure they don't race and you need to get
memory ordering right.
Doable, but not easy.
There is a reason URBs can be poisoned.
Regards
Oliver
URB may
still be in flight. And if it fails, it will restart the error
handler. You have to introduce a flag or poison the URB.
> usb_kill_urb(hub->urb);
> if (hub->has_indicators)
> cancel_delayed_work_sync(&hub->leds);
>
Regards
Oliver
On Fr, 2018-11-16 at 15:50 +, Ben Dooks wrote:
> The tasklet initialisation would be better done by tasklet_init()
> instead of assuming all the fields are in an ok state by default.
>
> Note, this does not fix any known bug.
>
> Signed-off-by: Ben Dooks
Acked-by: Oliver Neukum
bmit_urb(hub->urb, GFP_ATOMIC);
> - if (status != 0 && status != -ENODEV && status != -EPERM)
> + if (status != 0 && status != -ENODEV && status != -EPERM) {
This also needs to check for -ESHUTDOWN
Regards
Oliver
be able to deal with it.
Regards
Oliver
ignment and the other bits of usbnet changes
> and produce at least two more patch series for this later.
That looks good to me.
Regards
Oliver
dition between remote and host wake up.
You cannot rule out that your app wakes the device up, exactly when
user interaction would have woken it anyway.
Your app will know what it wants to do with the device. And you can
detect that.
Hence the correct algorithm is:
1. wake up the device
2. query it for a cause of wake up
3. If the host wants to do IO, do all of it.
Regards
Oliver
On Do, 2018-11-08 at 12:47 +0200, Felipe Balbi wrote:
Hi,
> Oliver Neukum writes:
> > On Mi, 2018-11-07 at 18:10 -0800, Thinh Nguyen wrote:
> > >
> > > --- a/drivers/usb/dwc3/core.h
> > > +++ b/drivers/usb/dwc3/core.h
> > > @@
On Mi, 2018-11-07 at 13:20 +0800, Morikazu Fumita wrote:
Hi,
> Hello Oliver,
>
> I got rid of the network bridge but the timeout error still happens so I
> can rule out the bridge now.
Good.
> I also got USB packet dump and found that the error is happening
> regardle
101 - 200 of 2090 matches
Mail list logo