@@ -698,6 +698,7 @@ struct w6x00if {
698698
699699static struct netif * w6x00_netif ;
700700static u8 Dev [EXI_CHANNEL_MAX ];
701+ static u8 Freq [EXI_CHANNEL_MAX ];
701702
702703static bool (* W6X00_ReadCmd )(s32 chan , u32 cmd , void * buf , u32 len );
703704static bool (* W6X00_WriteCmd )(s32 chan , u32 cmd , const void * buf , u32 len );
@@ -709,7 +710,7 @@ static bool W6100_ReadCmd(s32 chan, u32 cmd, void *buf, u32 len)
709710 cmd &= ~W6100_RWB ;
710711 cmd = (cmd << 16 ) | (cmd >> 16 );
711712
712- if (!EXI_Select (chan , Dev [chan ], EXI_SPEED32MHZ ))
713+ if (!EXI_Select (chan , Dev [chan ], Freq [ chan ] ))
713714 return false;
714715
715716 err |= !EXI_ImmEx (chan , & cmd , 3 , EXI_WRITE );
@@ -725,7 +726,7 @@ static bool W6100_WriteCmd(s32 chan, u32 cmd, const void *buf, u32 len)
725726 cmd |= W6100_RWB ;
726727 cmd = (cmd << 16 ) | (cmd >> 16 );
727728
728- if (!EXI_Select (chan , Dev [chan ], EXI_SPEED32MHZ ))
729+ if (!EXI_Select (chan , Dev [chan ], Freq [ chan ] ))
729730 return false;
730731
731732 err |= !EXI_ImmEx (chan , & cmd , 3 , EXI_WRITE );
@@ -742,7 +743,7 @@ static bool W6300_ReadCmd(s32 chan, u32 cmd, void *buf, u32 len)
742743 cmd &= ~W6300_RWB ;
743744 cmd <<= 8 ;
744745
745- if (!EXI_Select (chan , Dev [chan ], EXI_SPEED32MHZ ))
746+ if (!EXI_Select (chan , Dev [chan ], Freq [ chan ] ))
746747 return false;
747748
748749 err |= !EXI_ImmEx (chan , & cmd , 4 , EXI_WRITE );
@@ -759,7 +760,7 @@ static bool W6300_WriteCmd(s32 chan, u32 cmd, const void *buf, u32 len)
759760 cmd |= W6300_RWB ;
760761 cmd <<= 8 ;
761762
762- if (!EXI_Select (chan , Dev [chan ], EXI_SPEED32MHZ ))
763+ if (!EXI_Select (chan , Dev [chan ], Freq [ chan ] ))
763764 return false;
764765
765766 err |= !EXI_ImmEx (chan , & cmd , 4 , EXI_WRITE );
@@ -960,6 +961,7 @@ static bool W6X00_Init(s32 chan, s32 dev, struct w6x00if *w6x00if)
960961
961962 EXI_LockEx (chan , dev );
962963 Dev [chan ] = dev ;
964+ Freq [chan ] = dev == EXI_DEVICE_0 ? EXI_SPEED32MHZ : EXI_SPEED16MHZ ;
963965
964966 switch (id ) {
965967 case W6100_CID :
0 commit comments