Re: [PATCH] EDD: Check for correct EDD 3.0 length

From: Hannes Reinecke
Date: Tue May 15 2012 - 07:20:39 EST


On 05/15/2012 01:12 PM, Gleb Natapov wrote:
> Next time you resent an email say why you are doing it (wrong lkml
> address in this case).
>
> On Tue, May 15, 2012 at 01:04:49PM +0200, Hannes Reinecke wrote:
>> The device_path_info_length for EDD 3.0 is 36, not 44.
>> Cf http://mbldr.sourceforge.net/specsedd30.pdf.
>>
> That's the wrong spec.
>
Ah-ha.
Why?

>> This is a regression introduced by commit
>> 0c61227094b3ddaca2f847ee287c4a2e3762b5a2
>>
>> Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
>> Cc: Gleb Natapov <gleb@xxxxxxxxxx>
>> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
>>
>> diff --git a/drivers/firmware/edd.c b/drivers/firmware/edd.c
>> index e229576..09a77d5 100644
>> --- a/drivers/firmware/edd.c
>> +++ b/drivers/firmware/edd.c
>> @@ -545,8 +545,8 @@ edd_has_edd30(struct edd_device *edev)
>> }
>>
>>
>> - /* We support only T13 spec */
>> - if (info->params.device_path_info_length != 44)
> Here is the spec that code supports is spelled out, but you just replace
> the comment with pointer to the spec that the code does not support.
>
Hmm? How so?

I have this EDD info:

# hexdump -C raw_data
00000000 1e 00 03 00 14 04 00 00 ff 00 00 00 3f 00 00 00
|............?...|
00000010 00 00 00 01 00 00 00 00 00 02 ff ff ff ff dd be
|................|
00000020 24 00 00 00 50 43 49 00 46 49 42 52 45 00 00 00
|$...PCI.FIBRE...|
00000030 07 00 00 00 00 00 00 00 50 01 43 80 01 3c 94 48
|........P.C..<.H|
00000040 01 c8 00 00 00 00 00 00 00 00 |..........|

which used to be perfectly valid, contains an 'interface_type'
string, and a device path. All perfectly okay.
And, as mentioned, used to be displayed ok prior to the mentioned
commit.

So why do you claim we can't display it anymore?

Cheers,

Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@xxxxxxx +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/