1. 11 Jun, 2009 8 commits
    • Inaky Perez-Gonzalez's avatar
      wimax/i2400m: don't call netif_start_queue() in _tx_msg_sent() · fff10685
      Inaky Perez-Gonzalez authored
      Reported and fixed by Cindy H Kao.
      
      When the device is stopped __i2400m_dev_stop() stops the network
      queue.
      
      However, when this is done in the middle of heavy network operation,
      when the bus-specific subdriver is still wrapping up and it reports a
      sent TX transaction with _tx_msg_sent() right after the device was
      stopped, the queue was being started again, which was causing a stream
      of oopsen and finally a panic.
      
      In any case, said call has no place there. It's a left over from an
      early implementation that was discarded later on.
      Signed-off-by: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
      fff10685
    • Inaky Perez-Gonzalez's avatar
      wimax/i2400m: introduce module parameter to disable entering power save · fb101674
      Inaky Perez-Gonzalez authored
      The i2400m driver waits for the device to report being ready for
      entering power save before asking it to do so. This module parameter
      allows control of said operation; if disabled, the driver won't ask
      the device to enter power save mode.
      
      This is useful in setups where power saving is not so important or
      when the overhead imposed by network reentry after power save is not
      acceptable; by combining this with parameter 'idle_mode_disabled', the
      driver will always maintain both the connection and the device in
      active state.
      Signed-off-by: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
      fb101674
    • Roel Kluin's avatar
      atl1c: WAKE_MCAST tested twice, not WAKE_UCAST · 0ed586d0
      Roel Kluin authored
      The WAKE_MCAST bit is tested twice, the first should be WAKE_UCAST.
      Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
      Cc: Jie Yang <jie.yang@atheros.com>
      Cc: Jay Cliburn <jcliburn@gmail.com>
      Cc: Chris Snook <csnook@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0ed586d0
    • Risto Suominen's avatar
      de2104x: support for systems lacking cache coherence · b77e5228
      Risto Suominen authored
      Add a configurable Descriptor Skip Length for systems that lack cache
      coherence.
      
      (akpm: I think this should be done as a module parameter, not a
      compile-tinme option)
      Signed-off-by: default avatarRisto Suominen <Risto.Suominen@gmail.com>
      Cc: Grant Grundler <grundler@parisc-linux.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b77e5228
    • sg.tweak@gmail.com's avatar
      drivers/net/macvlan.c: fix cloning of tagged VLAN interfaces · ef5c8996
      sg.tweak@gmail.com authored
      Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13348
      
      akpm: the reporter disappeared, so I typed it in again.
      
      It is not possible to make clone of tagged VLAN interface to be used as
      mac-based vlan interfave.
      
      How reproducible:
      Use any 802.1q tagged vlan interface, e.g. eth2.700 and clone it:
      
        ip link add link eth2.700 address 00:04:75:cb:38:09 macvlan0 type macvlan
        ip link set dev macvlan0 up
        ip addr add 10.195.1.1/24 dev macvlan0
      
      So far, so good. Now try to ping anything via macvlan0:
      
        ping 10.195.1.2
      
      Actual results:
      For every attempted packet tx kernel writes to console:
      
      ------------[ cut here ]------------
      WARNING: at net/8021q/vlan_dev.c:254 vlan_dev_hard_header+0x36/0x126 [8021q]()
      Hardware name: M22ES
      Modules linked in: arptable_filter arp_tables bridge veth macvlan arc4 ecb
      ppp_mppe ppp_async crc_ccitt ppp_generic slhc autofs4 sunrpc 8021q garp stp
      ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_tcpudp
      x_tables dm_mirror dm_region_hash dm_log dm_multipath dm_mod sbs sbshc lp
      floppy snd_intel8x0 joydev snd_seq_dummy snd_intel8x0m snd_ac97_codec
      ide_cd_mod ac97_bus snd_seq_oss cdrom snd_seq_midi_event serio_raw snd_seq
      snd_seq_device snd_pcm_oss snd_mixer_oss parport_pc snd_pcm parport battery
      8139cp snd_timer i2c_sis96x ac button snd rtc_cmos rtc_core 8139too soundcore
      rtc_lib mii i2c_core pcspkr snd_page_alloc pata_sis libata sd_mod scsi_mod ext3
      jbd ehci_hcd ohci_hcd uhci_hcd [last unloaded: ip_tables]
      Pid: 0, comm: swapper Tainted: G        W  2.6.29.3 #1
      Call Trace:
       [<c0425f48>] warn_slowpath+0x60/0x9f
       [<c0425f6f>] warn_slowpath+0x87/0x9f
       [<dffb850d>] vlan_dev_hard_header+0x0/0x126 [8021q]
       [<dffb8543>] vlan_dev_hard_header+0x36/0x126 [8021q]
       [<dffb850d>] vlan_dev_hard_header+0x0/0x126 [8021q]
       [<df83155d>] macvlan_hard_header+0x3c/0x47 [macvlan]
       [<df831521>] macvlan_hard_header+0x0/0x47 [macvlan]
       [<c062bf3f>] arp_create+0xef/0x1ff
       [<c062c08c>] arp_send+0x3d/0x54
       [<c062c916>] arp_solicit+0x16c/0x177
       [<c05fadd2>] neigh_timer_handler+0x227/0x269
       [<c05fabab>] neigh_timer_handler+0x0/0x269
       [<c042ce4d>] run_timer_softirq+0xf0/0x141
       [<c0429e5a>] __do_softirq+0x76/0xf8
       [<c0429de4>] __do_softirq+0x0/0xf8
       <IRQ>  [<c044fb67>] handle_level_irq+0x0/0xad
       [<c0429db7>] irq_exit+0x35/0x62
       [<c04046bb>] do_IRQ+0xdf/0xf4
       [<c04035a7>] common_interrupt+0x27/0x2c
       [<c04079c5>] default_idle+0x2a/0x3d
       [<c0401bb6>] cpu_idle+0x57/0x70
      
      Macvlan driver always uses standard ethernet header length for all types
      of interface to which it is linked.  This patch fixes this problem.
      
      Reported-by: <sg.tweak@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Stephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ef5c8996
    • Andreas Mohr's avatar
      e100: add non-MII PHY support · 72001762
      Andreas Mohr authored
      Restore support for cards with MII-lacking PHYs as compared to removed
      pre-2.6.29 eepro100 driver: use full low-level MII I/O access abstraction
      by providing clean PHY-specific mdio_ctrl() functions for either standard
      MII-compliant cards, slightly special ones or non-MII PHY ones.
      
      We now have another netdev_priv member for mdio_ctrl(), thus we have some
      array indirection, but we save some additional opcodes for specific
      phy_82552_v handling in the common case.
      
      [akpm@linux-foundation.org: cleanups]
      Signed-off-by: default avatarAndreas Mohr <andi@lisas.de>
      Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
      Cc: Bruce Allan <bruce.w.allan@intel.com>
      Cc: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
      Cc: John Ronciak <john.ronciak@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      72001762
    • David S. Miller's avatar
      e5241c44
    • David S. Miller's avatar
  2. 10 Jun, 2009 32 commits