On Sunday 12 February 2006 00:28, Francois Romieu wrote:
> Ivo van Doorn <[EMAIL PROTECTED]> :
> > Allocate the ieee80211_hw structure for each device
> > individually to allow the driver to support multiple devices
> > at the same time.
> > 
> > Signed-off-by Ivo van Doorn <[EMAIL PROTECTED]>
> > 
> > diff -U 3 -H -w -E -d -r -N -- 
> > wireless-2.6/drivers/net/wireless/rt2x00/rt2400pci.c 
> > wireless-2.6-rt2x00/drivers/net/wireless/rt2x00/rt2400pci.c
> > --- wireless-2.6/drivers/net/wireless/rt2x00/rt2400pci.c    2006-02-09 
> > 20:35:21.000000000 +0100
> [...]
> > @@ -1958,24 +1973,48 @@
> >  static int
> >  rt2400pci_init_hw(struct rt2x00_pci *rt2x00pci)
> >  {
> > -   ieee80211_hw.host_gen_beacon = 1;
> > -   ieee80211_hw.device_hides_wep = 0;
> > -   ieee80211_hw.rx_includes_fcs = 0;
> > -   ieee80211_hw.host_broadcast_ps_buffering = 1;
> > -   ieee80211_hw.wep_include_iv = 1;
> > -   ieee80211_hw.data_nullfunc_ack = 1;
> > -   ieee80211_hw.no_tkip_wmm_hwaccel = 1;
> > -   ieee80211_hw.extra_hdr_room = 0;
> > -   ieee80211_hw.device_strips_mic = 0;
> > -   ieee80211_hw.fraglist = 0;
> > +   /*
> > +    * IEEE80211 Function callbacks.
> > +    */
> > +   rt2x00pci->hw.tx = rt2400pci_tx;
> > +   rt2x00pci->hw.reset = rt2400pci_reset;
> > +   rt2x00pci->hw.open = rt2400pci_open;
> > +   rt2x00pci->hw.stop = rt2400pci_stop;
> > +   rt2x00pci->hw.config = rt2400pci_config;
> > +   rt2x00pci->hw.passive_scan = rt2400pci_passive_scan;
> > +   rt2x00pci->hw.get_stats = rt2400pci_get_stats;
> > +   rt2x00pci->hw.set_mac_address = rt2400pci_set_mac_address;
> > +   rt2x00pci->hw.set_retry_limit = rt2400pci_set_retry_limit;
> > +   rt2x00pci->hw.conf_tx = rt2400pci_conf_tx;
> > +   rt2x00pci->hw.get_tx_stats = rt2400pci_get_tx_stats;
> > +   rt2x00pci->hw.get_tsf = rt2400pci_get_tsf;
> > +   rt2x00pci->hw.reset_tsf = rt2400pci_reset_tsf;
> > +   rt2x00pci->hw.beacon_update = rt2400pci_beacon_update;
> > +   rt2x00pci->hw.tx_last_beacon = rt2400pci_tx_last_beacon;
> 
> The layout of the configuration block looked fine to me:
> 
>       struct ieee80211_hw *hw = &rt2x00pci->hw;
> 
>       hw->tx                  = rt2400pci_tx;
>       hw->reset               = rt2400pci_reset;
>       hw->open                = rt2400pci_open;
>       hw->stop                = rt2400pci_stop;
>       hw->config              = rt2400pci_config;
>       hw->passive_scan        = rt2400pci_passive_scan;
>       hw->get_stats           = rt2400pci_get_stats;
>       hw->set_mac_address     = rt2400pci_set_mac_address;
>       hw->set_retry_limit     = rt2400pci_set_retry_limit;
>       hw->conf_tx             = rt2400pci_conf_tx;
>       hw->get_tx_stats        = rt2400pci_get_tx_stats;
>       hw->get_tsf             = rt2400pci_get_tsf;
>       hw->reset_tsf           = rt2400pci_reset_tsf;
>       hw->beacon_update       = rt2400pci_beacon_update;
>       hw->tx_last_beacon      = rt2400pci_tx_last_beacon;

Ok, I will resend this patch with this layout.

> [...]
> > @@ -1984,52 +2023,52 @@
> >      * we can increase performance since we
> >      * will have support for high priority TX frames.
> >      */
> > -   ieee80211_hw.queues = 2;
> > +   rt2x00pci->hw.queues = 2;
> >  
> >     /*
> >      * RT2400 only supports 802.11b.
> >      * Allocate memory for 14 OFDM channels and 4 CCK rates.
> >      */
> > -   ieee80211_hw.num_modes = 1;
> > -   ieee80211_hw.modes =
> > +   rt2x00pci->hw.num_modes = 1;
> > +   rt2x00pci->hw.modes =
> >             kzalloc(sizeof(struct ieee80211_hw_modes), GFP_KERNEL);
> > -   if(!ieee80211_hw.modes)
> > +   if(!rt2x00pci->hw.modes)
> 
> Any chance you could be convinced to insert a space after the "if" if
> asked in a polite manner ?

No problem, when I resend this patch with the above layout change
I will also form a patch that puts the space after the "if".

 [...]
> > @@ -2131,13 +2170,13 @@
> >             rt2x00pci->workqueue = NULL;
> >     }
> >  
> > -   if(likely(ieee80211_hw.modes)){
> > -           if(likely(ieee80211_hw.modes->channels))
> > -                   kfree(ieee80211_hw.modes->channels);
> > -           if(likely(ieee80211_hw.modes->rates))
> > -                   kfree(ieee80211_hw.modes->rates);
> > -           kfree(ieee80211_hw.modes);
> > -           ieee80211_hw.modes = NULL;
> > +   if(likely(rt2x00pci->hw.modes)){
> > +           if(likely(rt2x00pci->hw.modes->channels))
> > +                   kfree(rt2x00pci->hw.modes->channels);
> 
> No need to test: kfree(NULL) is fine.

Ok, will be fixed in the resend patch.

> [...]
> > @@ -2148,6 +2187,7 @@
> >  rt2400pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
> >  {
> >     struct net_device       *net_dev = NULL;
> > +   struct rt2x00_pci       *rt2x00pci = NULL;
> 
> None of the NULL initializers is needed.
> 

Hehe, Old habit of mine. They will be removed (along with the others) in the 
resend patch.

IvD

Attachment: pgpo83OMerfon.pgp
Description: PGP signature

Reply via email to