]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/wlags-modules/files/bugs.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / wlags-modules / files / bugs.patch
1 This are some fixes for real bugs that I had with the driver in my
2 environment.
3
4 #
5 # Patch managed by http://www.holgerschurig.de/patcher.html
6 #
7
8 --- wlags/wl_wext.c~bugs
9 +++ wlags/wl_wext.c
10 @@ -3811,9 +3811,11 @@
11      /* NOTE: Format of MAC address (using colons to seperate bytes) may cause
12               a problem in future versions of the supplicant, if they ever
13               actually parse these parameters */
14 +#if DBG
15      sprintf( msg, "MLME-MICHAELMICFAILURE.indication(keyid=%d %scast addr="
16               "%s)", key_idx, addr1[0] & 0x01 ? "broad" : "uni",
17               DbgHwAddr( addr2 ));
18 +#endif
19      wrqu.data.length = strlen( msg );
20         wireless_send_event( dev, IWEVCUSTOM, &wrqu, msg );
21  #endif /* WIRELESS_EXT > 14 */
22 --- wlags/mmd.c~bugs
23 +++ wlags/mmd.c
24 @@ -233,7 +233,17 @@
25                 i = 0;
26         }
27  #endif // HCF_ASSERT
28 -       return i > 3 && supp->len == sizeof(CFG_SUP_RANGE_STRCT)/sizeof(hcf_16) - 1 ?
29 -                  (CFG_RANGE_SPEC_STRCT*)actq : NULL;                                                                                                          /* 8 */
30 +/*
31 + * Originally there was this code here:
32 + * 
33 + * return i > 3 && supp->len == sizeof(CFG_SUP_RANGE_STRCT)/sizeof(hcf_16) - 1 ?
34 + *            (CFG_RANGE_SPEC_STRCT*)actq : NULL;
35 + *
36 + * Unfortunately, the sizeof() boogy was not working correctly on the Intel PXA2550 cpu.
37 + * sizeof(CFG_SUP_RANGE_STRCT)==16 there. So I had to uncomment this.
38 + * Holger Schurig <hs4233@mail.mn-solutions.de>
39 + */
40 +
41 +       return i > 3 ? (CFG_RANGE_SPEC_STRCT*)actq : NULL;                                                                                                              /* 8 */
42  } // mmd_check_comp
43  
44 --- wlags/dhf.c~bugs
45 +++ wlags/dhf.c
46 @@ -554,7 +554,6 @@
47  {
48  plugrecord     *plugrecordp = fw->pdaplug;
49  int            rc = HCF_SUCCESS;
50 -int                            plugrc = HCF_SUCCESS;
51  CFG_PROG_STRCT *ltvp;
52  hcf_32         code;                           // Code to plug
53  hcf_16         *pdap;                          // pointer to matching code found in pda
54 @@ -565,7 +564,22 @@
55         while( ( rc == HCF_SUCCESS ) && ( code = plugrecordp->code ) != 0 ) {
56                 pdap = apply_plug_rules(&cfg_prod_data[2], (hcf_16)(code & CODEMASK) );
57                 if ( pdap ) {
58 +#if 0
59 +/*
60 + * For plug record code=0x00000150, I get
61 + *
62 + *     (CNV_LITTLE_TO_INT(*pdap) - 1) * 2  == 4
63 + * and
64 + *     plugrecordp->len                    == 2
65 + *
66 + * Therefore the download failed. Therefore, I disable this check.
67 + * Holger Schurig, hs4233@mail.mn-solutions.de
68 + */
69
70                         if ( (CNV_LITTLE_TO_INT(*pdap) - 1) * 2 != plugrecordp->len ) {
71 +#else
72 +                       if (0) {
73 +#endif
74                                 //!! Be aware of the difference with primary plug records:
75                                 //!! as opposed to plug_pri_records '!=' rather than '>'
76                                 //!! production data plug records must fit exactly at their location