CINXE.COM
LKML: David Gibson: [3/5] Orinoco merge updates, part the fourth: kill dump_recs
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>LKML: David Gibson: [3/5] Orinoco merge updates, part the fourth: kill dump_recs</title><link href="/css/message.css" rel="stylesheet" type="text/css" /><link href="/css/wrap.css" rel="alternate stylesheet" type="text/css" title="wrap" /><link href="/css/nowrap.css" rel="stylesheet" type="text/css" title="nowrap" /><link href="/favicon.ico" rel="shortcut icon" /><script src="/js/simple-calendar.js" type="text/javascript"></script><script src="/js/styleswitcher.js" type="text/javascript"></script><link rel="alternate" type="application/rss+xml" title="lkml.org : last 100 messages" href="/rss.php" /><link rel="alternate" type="application/rss+xml" title="lkml.org : last messages by David Gibson" href="/groupie.php?aid=10562" /><!--Matomo--><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(["setDoNotTrack", true]); _paq.push(["disableCookies"]); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//m.lkml.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '1']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!--End Matomo Code--></head><body onload="es.jasper.simpleCalendar.init();" itemscope="itemscope" itemtype="http://schema.org/BlogPosting"><table border="0" cellpadding="0" cellspacing="0"><tr><td width="180" align="center"><a href="/"><img style="border:0;width:135px;height:32px" src="/images/toprowlk.gif" alt="lkml.org" /></a></td><td width="32">聽</td><td class="nb"><div><a class="nb" href="/lkml"> [lkml]</a> 聽 <a class="nb" href="/lkml/2005"> [2005]</a> 聽 <a class="nb" href="/lkml/2005/3"> [Mar]</a> 聽 <a class="nb" href="/lkml/2005/3/29"> [29]</a> 聽 <a class="nb" href="/lkml/last100"> [last100]</a> 聽 <a href="/rss.php"><img src="/images/rss-or.gif" border="0" alt="RSS Feed" /></a></div><div>Views: <a href="#" class="nowrap" onclick="setActiveStyleSheet('wrap');return false;">[wrap]</a><a href="#" class="wrap" onclick="setActiveStyleSheet('nowrap');return false;">[no wrap]</a> 聽 <a class="nb" href="/lkml/mheaders/2005/3/29/365" onclick="this.href='/lkml/headers'+'/2005/3/29/365';">[headers]</a>聽 <a href="/lkml/bounce/2005/3/29/365">[forward]</a>聽 </div></td><td width="32">聽</td></tr><tr><td valign="top"><div class="es-jasper-simpleCalendar" baseurl="/lkml/"></div><div class="threadlist">Messages in this thread</div><ul class="threadlist"><li class="root"><a href="/lkml/2005/3/29/361">First message in thread</a></li><li><a href="/lkml/2005/3/29/361">David Gibson</a><ul><li><a href="/lkml/2005/3/29/364">David Gibson</a><ul><li><a href="/lkml/2005/3/29/362">David Gibson</a></li><li class="origin"><a href="/lkml/2005/3/29/366">David Gibson</a><ul><li><a href="/lkml/2005/3/29/366">David Gibson</a><ul><li><a href="/lkml/2005/3/29/363">David Gibson</a></li></ul></li></ul></li><li><a href="/lkml/2005/3/30/285">Jeff Garzik</a></li></ul></li></ul></li></ul><div class="threadlist">Patch in this message</div><ul class="threadlist"><li><a href="/lkml/diff/2005/3/29/365/1">Get diff 1</a></li></ul></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerl.gif" width="32" height="32" alt="/" /></td><td class="c" rowspan="2" valign="top" style="padding-top: 1em"><table><tr><td><table><tr><td class="lp">Date</td><td class="rp" itemprop="datePublished">Wed, 30 Mar 2005 13:44:29 +1000</td></tr><tr><td class="lp">From</td><td class="rp" itemprop="author">David Gibson <></td></tr><tr><td class="lp">Subject</td><td class="rp" itemprop="name">[3/5] Orinoco merge updates, part the fourth: kill dump_recs</td></tr></table></td><td></td></tr></table><pre itemprop="articleBody">Remove the dump_recs debugging iwpriv command. It will be replaced<br />later with the simpler and more flexible get_rid command.<br /><br />Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au><br /><br />Index: working-2.6/drivers/net/wireless/orinoco.c<br />===================================================================<br />--- working-2.6.orig/drivers/net/wireless/orinoco.c 2005-03-24 15:57:43.000000000 +1100<br />+++ working-2.6/drivers/net/wireless/orinoco.c 2005-03-24 15:57:44.000000000 +1100<br />@@ -607,7 +607,6 @@<br /> static int orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);<br /> static int __orinoco_program_rids(struct net_device *dev);<br /> static void __orinoco_set_multicast_list(struct net_device *dev);<br />-static int orinoco_debug_dump_recs(struct net_device *dev);<br /> <br /> /********************************************************************/<br /> /* Internal helper functions */<br />@@ -3861,7 +3860,6 @@<br /> { SIOCIWFIRSTPRIV + 0x7, 0,<br /> IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,<br /> "get_ibssport" },<br />- { SIOCIWLASTPRIV, 0, 0, "dump_recs" },<br /> };<br /> <br /> wrq->u.data.length = sizeof(privtab) / sizeof(privtab[0]);<br />@@ -3949,14 +3947,6 @@<br /> err = orinoco_ioctl_getibssport(dev, wrq);<br /> break;<br /> <br />- case SIOCIWLASTPRIV:<br />- err = orinoco_debug_dump_recs(dev);<br />- if (err)<br />- printk(KERN_ERR "%s: Unable to dump records (%d)\n",<br />- dev->name, err);<br />- break;<br />-<br />-<br /> default:<br /> err = -EOPNOTSUPP;<br /> }<br />@@ -3970,187 +3960,6 @@<br /> return err;<br /> }<br /> <br />-struct {<br />- u16 rid;<br />- char *name;<br />- int displaytype;<br />-#define DISPLAY_WORDS 0<br />-#define DISPLAY_BYTES 1<br />-#define DISPLAY_STRING 2<br />-#define DISPLAY_XSTRING 3<br />-} record_table[] = {<br />-#define DEBUG_REC(name,type) { HERMES_RID_##name, #name, DISPLAY_##type }<br />- DEBUG_REC(CNFPORTTYPE,WORDS),<br />- DEBUG_REC(CNFOWNMACADDR,BYTES),<br />- DEBUG_REC(CNFDESIREDSSID,STRING),<br />- DEBUG_REC(CNFOWNCHANNEL,WORDS),<br />- DEBUG_REC(CNFOWNSSID,STRING),<br />- DEBUG_REC(CNFOWNATIMWINDOW,WORDS),<br />- DEBUG_REC(CNFSYSTEMSCALE,WORDS),<br />- DEBUG_REC(CNFMAXDATALEN,WORDS),<br />- DEBUG_REC(CNFPMENABLED,WORDS),<br />- DEBUG_REC(CNFPMEPS,WORDS),<br />- DEBUG_REC(CNFMULTICASTRECEIVE,WORDS),<br />- DEBUG_REC(CNFMAXSLEEPDURATION,WORDS),<br />- DEBUG_REC(CNFPMHOLDOVERDURATION,WORDS),<br />- DEBUG_REC(CNFOWNNAME,STRING),<br />- DEBUG_REC(CNFOWNDTIMPERIOD,WORDS),<br />- DEBUG_REC(CNFMULTICASTPMBUFFERING,WORDS),<br />- DEBUG_REC(CNFWEPENABLED_AGERE,WORDS),<br />- DEBUG_REC(CNFMANDATORYBSSID_SYMBOL,WORDS),<br />- DEBUG_REC(CNFWEPDEFAULTKEYID,WORDS),<br />- DEBUG_REC(CNFDEFAULTKEY0,BYTES),<br />- DEBUG_REC(CNFDEFAULTKEY1,BYTES),<br />- DEBUG_REC(CNFMWOROBUST_AGERE,WORDS),<br />- DEBUG_REC(CNFDEFAULTKEY2,BYTES),<br />- DEBUG_REC(CNFDEFAULTKEY3,BYTES),<br />- DEBUG_REC(CNFWEPFLAGS_INTERSIL,WORDS),<br />- DEBUG_REC(CNFWEPKEYMAPPINGTABLE,WORDS),<br />- DEBUG_REC(CNFAUTHENTICATION,WORDS),<br />- DEBUG_REC(CNFMAXASSOCSTA,WORDS),<br />- DEBUG_REC(CNFKEYLENGTH_SYMBOL,WORDS),<br />- DEBUG_REC(CNFTXCONTROL,WORDS),<br />- DEBUG_REC(CNFROAMINGMODE,WORDS),<br />- DEBUG_REC(CNFHOSTAUTHENTICATION,WORDS),<br />- DEBUG_REC(CNFRCVCRCERROR,WORDS),<br />- DEBUG_REC(CNFMMLIFE,WORDS),<br />- DEBUG_REC(CNFALTRETRYCOUNT,WORDS),<br />- DEBUG_REC(CNFBEACONINT,WORDS),<br />- DEBUG_REC(CNFAPPCFINFO,WORDS),<br />- DEBUG_REC(CNFSTAPCFINFO,WORDS),<br />- DEBUG_REC(CNFPRIORITYQUSAGE,WORDS),<br />- DEBUG_REC(CNFTIMCTRL,WORDS),<br />- DEBUG_REC(CNFTHIRTY2TALLY,WORDS),<br />- DEBUG_REC(CNFENHSECURITY,WORDS),<br />- DEBUG_REC(CNFGROUPADDRESSES,BYTES),<br />- DEBUG_REC(CNFCREATEIBSS,WORDS),<br />- DEBUG_REC(CNFFRAGMENTATIONTHRESHOLD,WORDS),<br />- DEBUG_REC(CNFRTSTHRESHOLD,WORDS),<br />- DEBUG_REC(CNFTXRATECONTROL,WORDS),<br />- DEBUG_REC(CNFPROMISCUOUSMODE,WORDS),<br />- DEBUG_REC(CNFBASICRATES_SYMBOL,WORDS),<br />- DEBUG_REC(CNFPREAMBLE_SYMBOL,WORDS),<br />- DEBUG_REC(CNFSHORTPREAMBLE,WORDS),<br />- DEBUG_REC(CNFWEPKEYS_AGERE,BYTES),<br />- DEBUG_REC(CNFEXCLUDELONGPREAMBLE,WORDS),<br />- DEBUG_REC(CNFTXKEY_AGERE,WORDS),<br />- DEBUG_REC(CNFAUTHENTICATIONRSPTO,WORDS),<br />- DEBUG_REC(CNFBASICRATES,WORDS),<br />- DEBUG_REC(CNFSUPPORTEDRATES,WORDS),<br />- DEBUG_REC(CNFTICKTIME,WORDS),<br />- DEBUG_REC(CNFSCANREQUEST,WORDS),<br />- DEBUG_REC(CNFJOINREQUEST,WORDS),<br />- DEBUG_REC(CNFAUTHENTICATESTATION,WORDS),<br />- DEBUG_REC(CNFCHANNELINFOREQUEST,WORDS),<br />- DEBUG_REC(MAXLOADTIME,WORDS),<br />- DEBUG_REC(DOWNLOADBUFFER,WORDS),<br />- DEBUG_REC(PRIID,WORDS),<br />- DEBUG_REC(PRISUPRANGE,WORDS),<br />- DEBUG_REC(CFIACTRANGES,WORDS),<br />- DEBUG_REC(NICSERNUM,XSTRING),<br />- DEBUG_REC(NICID,WORDS),<br />- DEBUG_REC(MFISUPRANGE,WORDS),<br />- DEBUG_REC(CFISUPRANGE,WORDS),<br />- DEBUG_REC(CHANNELLIST,WORDS),<br />- DEBUG_REC(REGULATORYDOMAINS,WORDS),<br />- DEBUG_REC(TEMPTYPE,WORDS),<br />-/* DEBUG_REC(CIS,BYTES), */<br />- DEBUG_REC(STAID,WORDS),<br />- DEBUG_REC(CURRENTSSID,STRING),<br />- DEBUG_REC(CURRENTBSSID,BYTES),<br />- DEBUG_REC(COMMSQUALITY,WORDS),<br />- DEBUG_REC(CURRENTTXRATE,WORDS),<br />- DEBUG_REC(CURRENTBEACONINTERVAL,WORDS),<br />- DEBUG_REC(CURRENTSCALETHRESHOLDS,WORDS),<br />- DEBUG_REC(PROTOCOLRSPTIME,WORDS),<br />- DEBUG_REC(SHORTRETRYLIMIT,WORDS),<br />- DEBUG_REC(LONGRETRYLIMIT,WORDS),<br />- DEBUG_REC(MAXTRANSMITLIFETIME,WORDS),<br />- DEBUG_REC(MAXRECEIVELIFETIME,WORDS),<br />- DEBUG_REC(CFPOLLABLE,WORDS),<br />- DEBUG_REC(AUTHENTICATIONALGORITHMS,WORDS),<br />- DEBUG_REC(PRIVACYOPTIONIMPLEMENTED,WORDS),<br />- DEBUG_REC(OWNMACADDR,BYTES),<br />- DEBUG_REC(SCANRESULTSTABLE,WORDS),<br />- DEBUG_REC(PHYTYPE,WORDS),<br />- DEBUG_REC(CURRENTCHANNEL,WORDS),<br />- DEBUG_REC(CURRENTPOWERSTATE,WORDS),<br />- DEBUG_REC(CCAMODE,WORDS),<br />- DEBUG_REC(SUPPORTEDDATARATES,WORDS),<br />- DEBUG_REC(BUILDSEQ,BYTES),<br />- DEBUG_REC(FWID,XSTRING)<br />-#undef DEBUG_REC<br />-};<br />-<br />-#define DEBUG_LTV_SIZE 128<br />-<br />-static int orinoco_debug_dump_recs(struct net_device *dev)<br />-{<br />- struct orinoco_private *priv = netdev_priv(dev);<br />- hermes_t *hw = &priv->hw;<br />- u8 *val8;<br />- u16 *val16;<br />- int i,j;<br />- u16 length;<br />- int err;<br />-<br />- /* I'm not sure: we might have a lock here, so we'd better go<br />- atomic, just in case. */<br />- val8 = kmalloc(DEBUG_LTV_SIZE + 2, GFP_ATOMIC);<br />- if (! val8)<br />- return -ENOMEM;<br />- val16 = (u16 *)val8;<br />-<br />- for (i = 0; i < ARRAY_SIZE(record_table); i++) {<br />- u16 rid = record_table[i].rid;<br />- int len;<br />-<br />- memset(val8, 0, DEBUG_LTV_SIZE + 2);<br />-<br />- err = hermes_read_ltv(hw, USER_BAP, rid, DEBUG_LTV_SIZE,<br />- &length, val8);<br />- if (err) {<br />- DEBUG(0, "Error %d reading RID 0x%04x\n", err, rid);<br />- continue;<br />- }<br />- val16 = (u16 *)val8;<br />- if (length == 0)<br />- continue;<br />-<br />- printk(KERN_DEBUG "%-15s (0x%04x): length=%d (%d bytes)\tvalue=",<br />- record_table[i].name,<br />- rid, length, (length-1)*2);<br />- len = min(((int)length-1)*2, DEBUG_LTV_SIZE);<br />-<br />- switch (record_table[i].displaytype) {<br />- case DISPLAY_WORDS:<br />- for (j = 0; j < len / 2; j++)<br />- printk("%04X-", le16_to_cpu(val16[j]));<br />- break;<br />-<br />- case DISPLAY_BYTES:<br />- default:<br />- for (j = 0; j < len; j++)<br />- printk("%02X:", val8[j]);<br />- break;<br />-<br />- case DISPLAY_STRING:<br />- len = min(len, le16_to_cpu(val16[0])+2);<br />- val8[len] = '\0';<br />- printk("\"%s\"", (char *)&val16[1]);<br />- break;<br />-<br />- case DISPLAY_XSTRING:<br />- printk("'%s'", (char *)val8);<br />- }<br />-<br />- printk("\n");<br />- }<br />-<br />- kfree(val8);<br />-<br />- return 0;<br />-}<br /> <br /> /********************************************************************/<br /> /* Debugging */<br />-- <br />David Gibson | I'll have my music baroque, and my code<br />david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_<br /> | _way_ _around_!<br /><a href="http://www.ozlabs.org/people/dgibson">http://www.ozlabs.org/people/dgibson</a><br />-<br />To unsubscribe from this list: send the line "unsubscribe linux-kernel" in<br />the body of a message to majordomo@vger.kernel.org<br />More majordomo info at <a href="http://vger.kernel.org/majordomo-info.html">http://vger.kernel.org/majordomo-info.html</a><br />Please read the FAQ at <a href="http://www.tux.org/lkml/">http://www.tux.org/lkml/</a><br /></pre></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerr.gif" width="32" height="32" alt="\" /></td></tr><tr><td align="right" valign="bottom"> 聽 </td></tr><tr><td align="right" valign="bottom">聽</td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerl.gif" width="32" height="32" alt="\" /></td><td class="c">聽</td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerr.gif" width="32" height="32" alt="/" /></td></tr><tr><td align="right" valign="top" colspan="2"> 聽 </td><td class="lm">Last update: 2005-04-06 13:31 聽聽 [from the cache]<br />漏2003-2020 <a href="http://blog.jasper.es/"><span itemprop="editor">Jasper Spaans</span></a>|hosted at <a href="https://www.digitalocean.com/?refcode=9a8e99d24cf9">Digital Ocean</a> and my Meterkast|<a href="http://blog.jasper.es/categories.html#lkml-ref">Read the blog</a></td><td>聽</td></tr></table><script language="javascript" src="/js/styleswitcher.js" type="text/javascript"></script></body></html>