Re: [PATCH v2] usb/isp1760: Implement Errata 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 08, 2011 at 08:21:29PM +0300, Sergei Shtylyov wrote:
> Hello.
>
> Sebastian Andrzej Siewior wrote:
>
>> The document says:
>> |2.1 Problem description
>> |    When at least two USB devices are simultaneously running, it is observed that
>> |    sometimes the INT corresponding to one of the USB devices stops occurring. This may
>> |    be observed sometimes with USB-to-serial or USB-to-network devices.
>> |    The problem is not noticed when only USB mass storage devices are running.
>> |2.2 Implication
>> |    This issue is because of the clearing of the respective Done Map bit on reading the ATL
>> |    PTD Done Map register when an INT is generated by another PTD completion, but is not
>> |    found set on that read access. In this situation, the respective Done Map bit will remain
>> |    reset and no further INT will be asserted so the data transfer corresponding to that USB
>> |    device will stop.
>> |2.3 Workaround
>> |    An SOF INT can be used instead of an ATL INT with polling on Done bits. A time-out can
>> |    be implemented and if a certain Done bit is never set, verification of the PTD completion
>> |    can be done by reading PTD contents (valid bit).
>> |    This is a proven workaround implemented in software.
>
>> Russell King run into this with an USB-to-serial converter. This patch
>> implements his suggestion to enable the high frequent SOF interrupt only
>> at the time we have ATL packages queued. It goes even one step further
>> and enables the SOF interrupt only if we have more than one ATL packet
>> queued at the same time.
>
>> Cc: <stable@xxxxxxxxxx> # [2.6.35.x, 2.6.36.x, 2.6.37.x]
>> Tested-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
>> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>
>    Perhaps the patch should better be named "work around errata 2"... 
> errata was "implemented" in hardware, not software, after all. Sorry for 
> not noticing this in the first comment...

An erratum is a statement of an error, it's a description of what's wrong
and usually a correction.

So implementing an erratum seems correct - you're implementing the
solution.  You don't implement the statement of error.

I guess an even better description would be "Implement solution for erratum 2".

Note: erratum = singular, errata = plural.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux