Bug 24137

Summary: Aironet driver breaks after firmware upgrade
Product: Base System Reporter: Allan Saddi <asaddi>
Component: kernAssignee: Brooks Davis <brooks>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.2-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Allan Saddi 2001-01-07 23:40:02 UTC
After upgrading the firmware of my Aironet cards to 4.13, I found
that the driver no longer worked. The console began to fill up with
these messages:

Jan  7 15:03:09 tranquility /kernel: an0: record length mismatch -- expected 134
, got 136

It seems that the new firmware returns an an_ltv_status structure which
is 2 bytes larger than expected. (What those 2 bytes are, I have no
idea!) Extending the structure by 2 bytes seems to quell the messages,
as well as make the driver work again.

I was not able to test these changes against cards with older firmware.

How-To-Repeat: 
Upgrade firmware to 4.13.
Comment 1 mb 2001-06-05 12:49:37 UTC
Hi,

This issue still exists. Your patch has been comitted to CURRENT,
but as you said there were two bytes, not one. I have now:

-       u_int16_t               an_spare[2];
+       u_int16_t               an_spare[5];

and now it works good. (Maybe four is enough, but with three, I still get
the same checksum missmatch.)

Martin

Martin Blapp, mb@imp.ch
------------------------------------------------
Improware AG, UNIX solution and service provider
Zurlindenstrasse 29, 4133 Pratteln, Switzerland
Phone: +41 79 370 26 05, Fax: +41 61 826 93 01
------------------------------------------------
Comment 2 Brooks Davis freebsd_committer freebsd_triage 2001-07-21 00:26:41 UTC
State Changed
From-To: open->closed

Fix committed to current and stable. 


Comment 3 Brooks Davis freebsd_committer freebsd_triage 2001-07-21 00:26:41 UTC
Responsible Changed
From-To: freebsd-bugs->brooks

I committed the fix so followups can go to me if they happen.