1. 10 1月, 2009 15 次提交
  2. 09 1月, 2009 1 次提交
  3. 08 1月, 2009 2 次提交
  4. 07 1月, 2009 1 次提交
  5. 06 1月, 2009 1 次提交
  6. 05 1月, 2009 1 次提交
  7. 26 12月, 2008 2 次提交
  8. 16 12月, 2008 1 次提交
    • H
      isdn: eicon: fix sparse warning: make global functions static · 4ee59d54
      Hannes Eder 提交于
      Fix this sparse warnings by making the functions static:
      
        drivers/isdn/hardware/eicon/di.c:356:6: warning: symbol 'isdn_rc' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/di.c:558:6: warning: symbol 'isdn_ind' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:595:6: warning: symbol 'api_parse' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:634:6: warning: symbol 'api_save_msg' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:666:6: warning: symbol 'api_load_msg' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:3417:6: warning: symbol 'manufacturer_req' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:3745:6: warning: symbol 'manufacturer_res' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:4077:6: warning: symbol 'control_rc' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:4743:6: warning: symbol 'data_rc' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:4779:6: warning: symbol 'data_ack' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:4805:6: warning: symbol 'sig_ind' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:6173:6: warning: symbol 'SendInfo' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:6349:6: warning: symbol 'SendMultiIE' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:6468:6: warning: symbol 'nl_ind' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:7250:6: warning: symbol 'get_plci' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:7409:6: warning: symbol 'add_d' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:7427:6: warning: symbol 'add_ai' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:7448:6: warning: symbol 'add_b1' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:7912:6: warning: symbol 'add_b23' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:8709:6: warning: symbol 'nl_req_ncci' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:8731:6: warning: symbol 'send_req' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:8866:6: warning: symbol 'listen_check' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:8909:6: warning: symbol 'IndParse' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:8994:6: warning: symbol 'ie_compare' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:9003:6: warning: symbol 'find_cip' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:9071:6: warning: symbol 'SetVoiceChannel' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:9089:6: warning: symbol 'VoiceChannelOff' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:9102:6: warning: symbol 'AdvCodecSupport' was not declared. Should it be static?
        drivers/isdn/hardware/eicon/message.c:9198:6: warning: symbol 'CodecIdCheck' was not declared. Should it be static?
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4ee59d54
  9. 13 12月, 2008 10 次提交
    • K
      misdn: Fix lockdep warning · 702c7904
      Karsten Keil 提交于
      use correct dynamic spinlock init function.
      Signed-off-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      702c7904
    • H
      mISDN: hfcmulti: use __iomem address space modifier · c31655fc
      Hannes Eder 提交于
      Impact: make use of the __iomem address space modifier, and change u_char *,
      u_short * and u_int * to void *
      
      Fix more than 30 sparse warnings of this or similar type:
      
        drivers/isdn/hardware/mISDN/hfcmulti.c:261:31: warning: incorrect type in argument 2 (different address spaces)
        drivers/isdn/hardware/mISDN/hfcmulti.c:261:31:    got unsigned char [usertype] *
        drivers/isdn/hardware/mISDN/hfcmulti.c:261:31:    expected void volatile [noderef] <asn:2>*addr
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c31655fc
    • H
      mISDN: timerdev: use __user for mISDN_read's buffer argument · c46f0a2d
      Hannes Eder 提交于
      Fix this warning:
      
        drivers/isdn/mISDN/timerdev.c:264:11: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
        drivers/isdn/mISDN/timerdev.c:264:11:    expected int ( *read )( ... )
        drivers/isdn/mISDN/timerdev.c:264:11:    got int ( static [toplevel] *<noident> )( ... )
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c46f0a2d
    • H
      mISDN: comment out unused symbols · 047ce8f2
      Hannes Eder 提交于
      Fix this sparse warnings:
      
        drivers/isdn/hardware/mISDN/hfcmulti.c:794: warning: 'vpm_check' defined but not used
        drivers/isdn/mISDN/dsp_cmx.c:1546: warning: 'dsp_start_jiffies' defined but not used
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      047ce8f2
    • H
      mISDN: fix sparse warning: symbol 'id' shadows an earlier one · 863a76e5
      Hannes Eder 提交于
      Impact: rename function scope variable
      
      Fix this warning:
      
        drivers/isdn/mISDN/l1oip_core.c:472:8: warning: symbol 'id' shadows an earlier one
        drivers/isdn/mISDN/l1oip_core.c:254:14: originally declared here
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      863a76e5
    • H
      mISDN: fix sparse warning: symbol 'nskb' shadows an earlier one · bb68b1d9
      Hannes Eder 提交于
      Impact: define first occurence of variable 'nskb' in inner most possible scope
      
      Fix this sparse warning:
      
        drivers/isdn/mISDN/dsp_core.c:746:20: warning: symbol 'nskb' shadows an earlier one
        drivers/isdn/mISDN/dsp_core.c:634:19: originally declared here
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bb68b1d9
    • H
      mISDN: un-export symbol 'plx_lock' · 65a40516
      Hannes Eder 提交于
      'plx_lock' is only used within hfcmulti.c.
      
      Fix this warning:
      
        drivers/isdn/hardware/mISDN/hfcmulti.c:176:1: warning: symbol 'plx_lock' shadows an earlier one
        drivers/isdn/hardware/mISDN/hfcmulti.c:175:19: originally declared here
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      65a40516
    • H
      mISDN: make global symbols static or include header files · 5b834354
      Hannes Eder 提交于
      The warnings fixed by including an header file for the appropriate
      prototype are marked with "*", for all others the corresonponding
      symbol has been made static.  This patch fixes all such issues in
      mISDN.
      
      Fix this sparse warnings:
      
        drivers/isdn/hardware/mISDN/hfcmulti.c:174:5: warning: symbol 'plxsd_master' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:426:1: warning: symbol 'write_fifo_regio' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:447:1: warning: symbol 'write_fifo_pcimem' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:469:1: warning: symbol 'read_fifo_regio' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:491:1: warning: symbol 'read_fifo_pcimem' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:710:1: warning: symbol 'vpm_init' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:793:1: warning: symbol 'vpm_check' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:816:1: warning: symbol 'vpm_echocan_on' was not declared. Should it be static?
        drivers/isdn/hardware/mISDN/hfcmulti.c:848:1: warning: symbol 'vpm_echocan_off' was not declared. Should it be static?
      * drivers/isdn/mISDN/l1oip_codec.c:224:1: warning: symbol 'l1oip_law_to_4bit' was not declared. Should it be static?
      * drivers/isdn/mISDN/l1oip_codec.c:261:1: warning: symbol 'l1oip_4bit_to_law' was not declared. Should it be static?
      * drivers/isdn/mISDN/l1oip_codec.c:281:1: warning: symbol 'l1oip_alaw_to_ulaw' was not declared. Should it be static?
      * drivers/isdn/mISDN/l1oip_codec.c:294:1: warning: symbol 'l1oip_ulaw_to_alaw' was not declared. Should it be static?
      * drivers/isdn/mISDN/l1oip_codec.c:311:1: warning: symbol 'l1oip_4bit_free' was not declared. Should it be static?
      * drivers/isdn/mISDN/l1oip_codec.c:322:1: warning: symbol 'l1oip_4bit_alloc' was not declared. Should it be static?
        drivers/isdn/mISDN/core.c:29:1: warning: symbol 'device_lock' was not declared. Should it be static?
        drivers/isdn/mISDN/core.c:34:1: warning: symbol 'bp_lock' was not declared. Should it be static?
        drivers/isdn/mISDN/core.c:196:1: warning: symbol 'mISDNInit' was not declared. Should it be static?
        drivers/isdn/mISDN/core.c:227:6: warning: symbol 'mISDN_cleanup' was not declared. Should it be static?
        drivers/isdn/mISDN/stack.c:40:1: warning: symbol 'mISDN_queue_message' was not declared. Should it be static?
      * drivers/isdn/mISDN/layer1.c:388:1: warning: symbol 'l1_init' was not declared. Should it be static?
      * drivers/isdn/mISDN/layer1.c:400:1: warning: symbol 'l1_cleanup' was not declared. Should it be static?
        drivers/isdn/mISDN/layer2.c:469:1: warning: symbol 'iframe_error' was not declared. Should it be static?
        drivers/isdn/mISDN/layer2.c:487:1: warning: symbol 'super_error' was not declared. Should it be static?
        drivers/isdn/mISDN/layer2.c:496:1: warning: symbol 'unnum_error' was not declared. Should it be static?
        drivers/isdn/mISDN/layer2.c:509:1: warning: symbol 'UI_error' was not declared. Should it be static?
        drivers/isdn/mISDN/layer2.c:522:1: warning: symbol 'FRMR_error' was not declared. Should it be static?
        drivers/isdn/mISDN/layer2.c:1069:1: warning: symbol 'enquiry_cr' was not declared. Should it be static?
      * drivers/isdn/mISDN/layer2.c:2196:1: warning: symbol 'Isdnl2_Init' was not declared. Should it be static?
      * drivers/isdn/mISDN/layer2.c:2210:1: warning: symbol 'Isdnl2_cleanup' was not declared. Should it be static?
        drivers/isdn/mISDN/tei.c:397:1: warning: symbol 'random_ri' was not declared. Should it be static?
      * drivers/isdn/mISDN/timerdev.c:277:1: warning: symbol 'mISDN_inittimer' was not declared. Should it be static?
      * drivers/isdn/mISDN/timerdev.c:288:6: warning: symbol 'mISDN_timer_cleanup' was not declared. Should it be static?
        drivers/isdn/mISDN/dsp_core.c:164:12: warning: symbol 'mISDN_dsp_revision' was not declared. Should it be static?
        drivers/isdn/mISDN/dsp_cmx.c:1543:5: warning: symbol 'samplecount' was not declared. Should it be static?
        drivers/isdn/mISDN/dsp_cmx.c:1546:5: warning: symbol 'dsp_start_jiffies' was not declared. Should it be static?
        drivers/isdn/mISDN/dsp_cmx.c:1547:16: warning: symbol 'dsp_start_tv' was not declared. Should it be static?
        drivers/isdn/mISDN/dsp_tones.c:239:3: warning: symbol 'pattern' was not declared. Should it be static?
        drivers/isdn/mISDN/dsp_audio.c:33:4: warning: symbol 'dsp_audio_ulaw_to_alaw' was not declared. Should it be static?
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5b834354
    • H
      mISDN: consistently define 'debug' as '*u_int' · dfa96ec1
      Hannes Eder 提交于
      Impact: change data type for variable 'debug' from *int to *u_int,
      same for the argument type of mISDN_inittimer
      
      In "core.h" mISDN_inittimer is declared with the argument type "*u_int", make
      the definition in "timerdev.c" match this.
      
      This fixes also this warnings:
      
        drivers/isdn/mISDN/layer1.c:391:8: warning: incorrect type in assignment (different signedness)
        drivers/isdn/mISDN/layer1.c:391:8:    expected int *static [toplevel] debug
        drivers/isdn/mISDN/layer1.c:391:8:    got unsigned int [usertype] *deb
        drivers/isdn/mISDN/layer2.c:2200:8: warning: incorrect type in assignment (different signedness)
        drivers/isdn/mISDN/layer2.c:2200:8:    expected int *static [toplevel] debug
        drivers/isdn/mISDN/layer2.c:2200:8:    got unsigned int [usertype] *deb
        drivers/isdn/mISDN/socket.c:769:8: warning: incorrect type in assignment (different signedness)
        drivers/isdn/mISDN/socket.c:769:8:    expected int *static [toplevel] debug
        drivers/isdn/mISDN/socket.c:769:8:    got unsigned int [usertype] *deb
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dfa96ec1
    • H
      mISDN: use NULL pointer instead of plain integer · bcf91745
      Hannes Eder 提交于
      Fix more than 100 (all remaining in mISDN) sparse warnings:
      
        drivers/isdn/hardware/mISDN/hfcmulti.c:***:**: warning: Using plain integer as NULL pointer
        drivers/isdn/mISDN/dsp_tones.c:***:**: warning: Using plain integer as NULL pointer
        drivers/isdn/mISDN/dsp_pipeline.c:***:**: warning: Using plain integer as NULL pointer
      Signed-off-by: NHannes Eder <hannes@hanneseder.net>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bcf91745
  10. 04 12月, 2008 5 次提交
    • P
      hysdn: fix writing outside the field on 64 bits · bd091410
      Pascal Terjan 提交于
      ifa_local is assumed to be unsigned long which lead to writing the address
      at dev->dev_addr-2 instead of +2
      
      noticed thanks to gcc:
      
      drivers/isdn/hysdn/hysdn_net.c: In function `net_open':
      drivers/isdn/hysdn/hysdn_net.c:91: warning: array subscript is below array bounds
      Signed-off-by: NPascal Terjan <pterjan@mandriva.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bd091410
    • J
      drivers/isdn/mISDN: use ARRAY_SIZE · fd568fc3
      Julia Lawall 提交于
      ARRAY_SIZE is more concise to use when the size of an array is divided by
      the size of its type or the size of its first element.
      
      The semantic patch that makes this change is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @i@
      @@
      
      #include <linux/kernel.h>
      
      @depends on i using "paren.iso"@
      type T;
      T[] E;
      @@
      
      - (sizeof(E)/sizeof(T))
      + ARRAY_SIZE(E)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd568fc3
    • W
      b1isa: fix b1isa_exit() to really remove registered capi controllers · 1c594c05
      Wilfried Klaebe 提交于
      On "/etc/init.d/capiutils stop", this oops happened.
      
      The oops happens on reading /proc/capi/controllers because
      capi_ctrl->procinfo is called for the wrongly not unregistered
      controller, which points to b1isa_procinfo(), which was removed on
      module unload.
      
      b1isa_exit() did not call b1isa_remove() for its controllers because
      io[0] == 0 on module unload despite having been 0x340 on module load.
      
      Besides, just removing the controllers that where added on module
      load time and not those that were added later via b1isa_add_card() is
      wrong too - the place where all added cards are found is isa_dev[].
      
      relevant dmesg lines:
      
      [    0.000000] Linux version 2.6.27.4 (w@shubashi) (gcc version 4.3.2 (Debian 4.3.2-1) ) #3 Thu Oct 30 16:49:03 CET 2008
      
      [   67.403555] CAPI Subsystem Rev 1.1.2.8
      [   68.529154] capifs: Rev 1.1.2.3
      [   68.563292] capi20: Rev 1.1.2.7: started up with major 68 (middleware+capifs)
      [   77.026936] b1: revision 1.1.2.2
      [   77.049992] b1isa: revision 1.1.2.3
      [   77.722655] kcapi: Controller [001]: b1isa-340 attached
      [   77.722671] b1isa: AVM B1 ISA at i/o 0x340, irq 5, revision 255
      [   81.272669] b1isa-340: card 1 "B1" ready.
      [   81.272683] b1isa-340: card 1 Protocol: DSS1
      [   81.272689] b1isa-340: card 1 Linetype: point to multipoint
      [   81.272695] b1isa-340: B1-card (3.11-03) now active
      [   81.272702] kcapi: card [001] "b1isa-340" ready.
      
      [  153.721281] kcapi: card [001] down.
      [  154.151889] BUG: unable to handle kernel paging request at e87af000
      [  154.152081] IP: [<e87af000>]
      [  154.153292] *pde = 2655b067 *pte = 00000000
      [  154.153307] Oops: 0000 [#1]
      [  154.153360] Modules linked in: rfcomm l2cap ppdev lp ipt_MASQUERADE tun capi capifs kernelcapi ac battery nfsd exportfs nfs lockd nfs_acl sunrpc sit tunnel4 bridge stp llc ipt_REJECT ipt_LOG xt_tcpudp xt_state iptable_filter iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables nls_utf8 isofs nls_base zlib_inflate loop ipv6 netconsole snd_via82xx dvb_usb_dib0700 gameport dib7000p dib7000m dvb_usb snd_ac97_codec ac97_bus dvb_core mt2266 snd_pcm tuner_xc2028 dib3000mc dibx000_common mt2060 dib0070 snd_page_alloc snd_mpu401_uart snd_seq_midi snd_seq_midi_event btusb snd_rawmidi bluetooth snd_seq snd_timer snd_seq_device snd via686a i2c_viapro soundcore i2c_core parport_pc parport button dm_mirror dm_log dm_snapshot floppy sg ohci1394 uhci_hcd ehci_hcd 8139too mii ieee1394 usbcore sr_mod cdrom sd_mod thermal processor fan [last unloaded: b1]
      [  154.153360]
      [  154.153360] Pid: 4132, comm: capiinit Not tainted (2.6.27.4 #3)
      [  154.153360] EIP: 0060:[<e87af000>] EFLAGS: 00010286 CPU: 0
      [  154.153360] EIP is at 0xe87af000
      [  154.153360] EAX: e6b9ccc8 EBX: e6b9ccc8 ECX: e87a0c67 EDX: e87af000
      [  154.153360] ESI: e142bbc0 EDI: e87a56e0 EBP: e0505f0c ESP: e0505ee4
      [  154.153360]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
      [  154.153360] Process capiinit (pid: 4132, ti=e0504000 task=d1196cf0 task.ti=e0504000)
      [  154.153360] Stack: e879f650 00000246 e0505ef4 c01472eb e0505f0c 00000246 e7001780 fffffff4
      [  154.153360]        fffffff4 e142bbc0 e0505f48 c01a56c6 00000400 b805e000 d102dc80 e142bbe0
      [  154.153360]        00000000 e87a56e0 00000246 e12617ac 00000000 00000000 e1261760 fffffffb
      [  154.153360] Call Trace:
      [  154.153360]  [<e879f650>] ? controller_show+0x20/0x90 [kernelcapi]
      [  154.153360]  [<c01472eb>] ? trace_hardirqs_on+0xb/0x10
      [  154.153360]  [<c01a56c6>] ? seq_read+0x126/0x2f0
      [  154.153360]  [<c01a55a0>] ? seq_read+0x0/0x2f0
      [  154.153360]  [<c01c033c>] ? proc_reg_read+0x5c/0x90
      [  154.153360]  [<c0189919>] ? vfs_read+0x99/0x140
      [  154.153360]  [<c01c02e0>] ? proc_reg_read+0x0/0x90
      [  154.153360]  [<c0189a7d>] ? sys_read+0x3d/0x70
      [  154.153360]  [<c0103c3d>] ? sysenter_do_call+0x12/0x35
      [  154.153360]  =======================
      [  154.153360] Code:  Bad EIP value.
      [  154.153360] EIP: [<e87af000>] 0xe87af000 SS:ESP 0068:e0505ee4
      [  154.153360] ---[ end trace 23750b6c2862de94 ]---
      Signed-off-by: NWilfried Klaebe <linux-kernel@lebenslange-mailadresse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1c594c05
    • W
      isdn: Kill directly reference of netdev->priv · 838361fe
      Wang Chen 提交于
      Simply use netdev_priv() to replace netdev->priv.
      Signed-off-by: NWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      838361fe
    • W
      hysdn: Kill directly reference of netdev->priv · 25dd7e6a
      Wang Chen 提交于
      Usually, netdev->priv should point to the memory of private
      data which is allocated in alloc_netdev().
      netdev_priv() is used to get the address of the private data.
      
      Change the netdev->priv pointer to another memory is wrong.
      Use netdev->ml_priv for this case.
      Signed-off-by: NWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25dd7e6a
  11. 01 12月, 2008 1 次提交
    • A
      tricky one: hisax sections · 56d74dd5
      Al Viro 提交于
      a) hisax_init_pcmcia() needs to be defined only if we have
         CONFIG_HOTPLUG (no PCMCIA support otherwise) and can be declared
         __devinit.
      
      b) HiSax_inithardware() can go __init
      
      c) hisax_register() is passing to checkcard() full-blown hisax_cs_setup_card():
      	checkcard(i, id, NULL, hisax_d_if->owner, hisax_cs_setup_card);
         The problem with it is that
      	* hisax_cs_setup_card() is __devinit
      	* hisax_register() is not
      	* hisax_cs_setup_card() is a switch from hell, calling a lot of
      	  setup_some_weirdcard() depending on card->typ.  _These_ are also
      	  __devinit.
      
         However, in hisax_register() we have card->typ equal to
         ISDN_CTYPE_DYNAMIC, which reduces hisax_cs_setup_card() to "nevermind
         all that crap, just do nothing and return 2".  So we add a
         trimmed-down callback doing just that and passed to checkcard() by
         hisax_register().  _This_ is non-init (we can stand the impact on
         .text size).
      
      Voila - no section warnings from drivers/isdn
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      56d74dd5