Re: [PATCHv2 1/2] USB: gadget: mass/file storage: set serial number

Michał Nazarewicz
2010-07-08T20:25:56Z

On Thu, 08 Jul 2010 22:20:11 +0200, David Brownell <david-b@pacbell.net> wrote:

>> > Can it be made to do so only when the gadget
>> > hasn't been provided with one already? Serial
>> > number module options are standard parts of the
>> > composite gadget framework...
>>
>> I don't see a way for the gadget to know whether user gave
>> the iSerialNumber
>> parameter (other then reading the iSerialNumber variable
>> but I consider that ugly).
>
> Uglier still is the current patch overriding
> that explicitly-given parameter.

How does it override explicitly-given parameter? I don't follow...

All it does is add a iSerialNumber. Without this patch the
explicitly-given parameter won't even work:

if (cdev->desc.iSerialNumber && iSerialNumber)
string_override(composite->strings,
cdev->desc.iSerialNumber, iSerialNumber);

Composite checks if iSerialNumber is allocated and overrides the
string only if it is. Without my patch, the string ID is never
allocated.

Also, the overriding is performed *after* composite device's bind
callback is called so there is no way for the bind callback to
override explicitly-given parameter.

--
Best regards, _ _
| Humble Liege of Serenely Enlightened Majesty of o' \,=./ `o
| Computer Science, Michał "mina86" Nazarewicz (o o)
+----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo--