All of lore.kernel.org
 help / color / mirror / Atom feed
* [ath9k-devel] Newbie: Need help with modifications, errors loading ath9k
@ 2009-07-23 22:42 Rakesh Kumar
  2009-07-23 22:54 ` Luis R. Rodriguez
  0 siblings, 1 reply; 2+ messages in thread
From: Rakesh Kumar @ 2009-07-23 22:42 UTC (permalink / raw)
  To: ath9k-devel

Hi,

I made a few small changes in nl80211.c (cfg80211) and cfg.c (mac80211) for
supporting explicit rate setting (say if the user wants to set a fixed rate
and avoid usage of rate control algo). Anyway, I compiled everything and can
load both cfg80211 and mac80211 but when it comes to loading ath9k, I get an
error message on the command line saying:

*rakesh at pineapple:~/compat-wireless-2.6.30$ sudo insmod
./drivers/net/wireless/ath9k/ath9k.ko
insmod: error inserting './drivers/net/wireless/ath9k/ath9k.ko': -1 Unknown
symbol in module*

and the syslog reads:

*Jul 23 17:30:41 pineapple kernel: [ 4486.158281] ath9k: Unknown symbol
rfkill_force_state
Jul 23 17:30:41 pineapple kernel: [ 4486.158486] ath9k: Unknown symbol
rfkill_unregister
Jul 23 17:30:41 pineapple kernel: [ 4486.159220] ath9k: Unknown symbol
led_classdev_unregister
Jul 23 17:30:41 pineapple kernel: [ 4486.161183] ath9k: Unknown symbol
rfkill_free
Jul 23 17:30:41 pineapple kernel: [ 4486.161619] ath9k: Unknown symbol
rfkill_allocate
Jul 23 17:30:41 pineapple kernel: [ 4486.161817] ath9k: Unknown symbol
rfkill_register
Jul 23 17:30:41 pineapple kernel: [ 4486.162403] ath9k: Unknown symbol
led_classdev_register*


Can somebody help as to what  might be causing this problem, I did not touch
the ath9k code at all. I tried to grep these symbol names in the code but do
not finy clue except them being called in main.c of ath9k.

For the record, I *made following changes in nl80211.c:*

*diff compat-wireless-2.6.30/net/wireless/nl80211.c
compat-wireless-2.6.30_fresh/net/wireless/nl80211.c*
63a64
>
65,66d65
< //Rakesh:
<     [NL80211_ATTR_IFRATE] = { .type = NLA_U32 },
482a482
>
695,731d694
< //Rakesh:
< static int nl80211_set_rate(struct sk_buff *skb, struct genl_info *info)
< {
<     struct cfg80211_registered_device *drv;
<     int err, ifindex;
<     unsigned int rate;
<
<     struct net_device *dev;
<     bool change = false;
<
<     rtnl_lock();
<
<     err = get_drv_dev_by_info_ifindex(info->attrs, &drv, &dev);
<     if (err)
<         goto unlock_rtnl;
<
<     ifindex = dev->ifindex;
<
<     dev_put(dev);
<
<     if (info->attrs[NL80211_ATTR_IFRATE]) {
<         rate = nla_get_u32(info->attrs[NL80211_ATTR_IFTYPE]);
<         change = true;
<     }
<
<     if (change)
<         err = drv->ops->change_intf_rate(&drv->wiphy, ifindex,
<                             rate);
<     else
<         err = 0;
<  unlock:
<     cfg80211_put_dev(drv);
<  unlock_rtnl:
<     rtnl_unlock();
<     return err;
< }
<
3055,3061d3017
< //Rakesh:
<     {
<         .cmd = NL80211_CMD_SET_RATE,
<         .doit = nl80211_set_rate,
<         .policy = nl80211_policy,
<         .flags = GENL_ADMIN_PERM,
<     },

*and following changes in cfg.c*

diff compat-wireless-2.6.30/net/mac80211/cfg.c
compat-wireless-2.6.30_fresh/net/mac80211/cfg.c
113,132d112
< static int ieee80211_change_rate(struct wiphy *wiphy, int ifindex,
<                   unsigned int rate)
< {
<     struct net_device *dev;
<     struct ieee80211_sub_if_data *sdata;
<     int ret;
<
<     /* we're under RTNL */
<     dev = __dev_get_by_index(&init_net, ifindex);
<     if (!dev)
<         return -ENODEV;
<
<     sdata = IEEE80211_DEV_TO_SUB_IF(dev);
<
<     sdata->force_unicast_rateidx = rate;
<     return 0;
< }
<
<
<
1313,1314d1292
< //Rakesh
<     .change_intf_rate = ieee80211_change_rate,

*And following changes in cfg80211.h*

rakesh@pineapple:~$ diff compat-wireless-2.6.30/include/net/
compat-wireless-2.6.30_fresh/include/net/
diff compat-wireless-2.6.30/include/net/cfg80211.h
compat-wireless-2.6.30_fresh/include/net/cfg80211.h
749,752c749
< //Rakesh:
<     int    (*change_intf_rate)(struct wiphy *wiphy, int ifindex,
<                        unsigned int type);
<
---
>


*And following changes in nl80211.h*

rakesh at pineapple:~$ diff compat-wireless-2.6.30/include/linux/nl80211.h
compat-wireless-2.6.30_fresh/include/linux/nl80211.h
218,219d217
< //Rakesh:
<     NL80211_CMD_SET_RATE,
426,427d423
< //Rakesh:
<     NL80211_ATTR_IFRATE,



--
Rakesh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20090723/412fcbc0/attachment.htm 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-07-23 22:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-23 22:42 [ath9k-devel] Newbie: Need help with modifications, errors loading ath9k Rakesh Kumar
2009-07-23 22:54 ` Luis R. Rodriguez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.