Hi Alexander,

Alexander Leidinger wrote:
> Quoting grem <[EMAIL PROTECTED]> (from Wed, 28 Mar 2007 04:52:53
> +0200):
> 
> [analysis of the problem]
> 
>> Any feedback is welcome, since I'm not an expert in how USB works/is
>>  implemented in FreeBSD.
> 
> Please submit this as a problem report. Quirks have to be registered in
> GNATS before we can commit them so that we are able to reevaluate them
> if the need arises.

I thought that is only true for new quirks (IGNORE_RESIDUE is an already 
existing quirk).
Do you have a link that describes how to do it (in the least possible amount of 
time), PR
+ potentially GNATS.

Then again, I would have to file different PRs, cause one is critical while the 
others are
feature requests?

> 
>> @@ -1665,6 +1673,8 @@
>>                                 USETDW(sc->csw.dCSWSignature,
>> CSWSIGNATURE);
>>                 }
>>
>> +               if (sc->quirks & IGNORE_RESIDUE)
>> +                 USETDW(sc->csw.dCSWDataResidue, 0);
>>                 int Residue;
>>                 Residue = UGETDW(sc->csw.dCSWDataResidue);
>>                 if (Residue == 0 &&
> 
> Wrong indent for the USETDW line. 
Hey c'mon, copy and paste :)

> I don't know much about the USB code.
> If the residue is not used somewhere else, wouldn't it be better to do
> "if quirk set the Residue variable to 0 else get it from the device"
The logic is:
"If quirk is set, calculate residue, otherwise get it and if it's not 0 
calculate it"
Although maybe the original logic is suboptimal, and it would be best todo sth 
like:

int Residue;
if ((sc->quirks & IGNORE_RESIDUE) || !(Residue = 
UGETDW(sc->csw.dCSWDataResidue)))
        Residue = sc->transfer_datalen - sc->transfer_actlen;

Since the extra check for (sc->transfer_datalen - sc->transfer_actlen) in the 
original
code seems redundant.

/michael



_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to