Re: PnPBIOS: Unknown tag '0x82'

From: Adam Belay
Date: Wed Mar 24 2004 - 16:36:55 EST


On Tue, Mar 23, 2004 at 11:50:04AM +0200, Meelis Roos wrote:
> > > PnPBIOS: Scanning system for PnP BIOS support...
> > > PnPBIOS: Found PnP BIOS installation structure at 0xc00f2480
> > > PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0x1d2a, dseg 0xf0000
> > > pnp: 00:09: ioport range 0x4d0-0x4d1 has been reserved
> > > pnp: 00:09: ioport range 0xcf8-0xcff could not be reserved
> > > PnPBIOS: Unknown tag '0x82', length '18': 82 12 00 49 6e 74 65 6c 20 46 69 72 6d 77 61 72 65 20 .
> > > pnp: 00:0b: ioport range 0x800-0x87f has been reserved
> > > PnPBIOS: 20 nodes reported by PnP BIOS; 20 recorded by driver
> >
> > In this case it should be harmless. Typically when one tag is
> > corrupted (or incorrectly interpreted) it will also complain
> > about the following tag because of size checks. Where did the
> > unknown tag occur? Perhaps in pnpbios_parse_resource_option_data?
>
> It's in pnpbios_parse_compatible_ids.

Could you please try this patch.

Thanks,
Adam

--- a/drivers/pnp/pnpbios/rsparser.c 2004-03-11 02:55:25.000000000 +0000
+++ b/drivers/pnp/pnpbios/rsparser.c 2004-03-24 16:24:17.000000000 +0000
@@ -505,6 +505,11 @@

switch (tag) {

+ case LARGE_TAG_ANSISTR:
+ strncpy(dev->name, p + 3, len >= PNP_NAME_LEN ? PNP_NAME_LEN - 2 : len);
+ dev->name[len >= PNP_NAME_LEN ? PNP_NAME_LEN - 1 : len] = '\0';
+ break;
+
case SMALL_TAG_COMPATDEVID: /* compatible ID */
if (len != 4)
goto len_err;
-
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/