aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* forcedeth: Fix resume from hibernation regression.Ed Swierk2009-04-06
| | | | | | | | Reset phy state on resume, fixing a regression caused by powering down the phy on hibernate. Signed-off-by: Ed Swierk <eswierk@aristanetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* xfrm: fix fragmentation on inter family tunnelsSteffen Klassert2009-04-06
| | | | | | | | | | | | | | | | | | | | | | | If an ipv4 packet (not locally generated with IP_DF flag not set) bigger than mtu size is supposed to go via a xfrm ipv6 tunnel, the packetsize check in xfrm4_tunnel_check_size() is omited and ipv6 drops the packet without sending a notice to the original sender of the ipv4 packet. Another issue is that ipv4 connection tracking does reassembling of incomming fragmented packets. If such a reassembled packet is supposed to go via a xfrm ipv6 tunnel it will be droped, even if the original sender did proper fragmentation. According to RFC 2473 (section 7) tunnel ipv6 packets resulting from the encapsulation of an original packet are considered as locally generated packets. If such a packet passed the checks in xfrm{4,6}_tunnel_check_size() fragmentation is allowed according to RFC 2473 (section 7.1/7.2). This patch sets skb->local_df in xfrm6_prepare_output() to achieve fragmentation in this case. Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ibm_newemac: Fix dangerous struct assumptionJean Delvare2009-04-06
| | | | | | | | | | | | The ibm_newemac driver includes code which assumes that the work_struct which is included in every delayed_work is the first member of that structure. This is currently the case but might change in the future, so use to_delayed_work() instead, which doesn't make such an assumption. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* gigaset: documentation updateTilman Schmidt2009-04-06
| | | | | | | | | | Update, correct and clarify instructions for loading the driver and for setting the UNDOCREQ kernel configuration option. Impact: documentation Signed-off-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: David S. Miller <davem@davemloft.net>
* gigaset: in file ops, check for device disconnect before anything elseTilman Schmidt2009-04-06
| | | | | | | | | | | | | | When the device is disconnected, the dev structure goes away, so trying to report another error via dev_printk is bound to oops. To avoid that, first check whether the device is still connected and return quietly if it isn't. Impact: error handling Signed-off-by: Tilman Schmidt <tilman@imap.cc> Reported-by: Paul Bolle <pebolle@tiscali.nl> Tested-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: David S. Miller <davem@davemloft.net>
* bas_gigaset: use tasklet_hi_schedule for timing critical taskletsTilman Schmidt2009-04-06
| | | | | | | | | The tasklets for isochronous data transfer need to run within 8 msec to avoid over/underruns, so schedule them with high priority to fix reported issues with occasional over/underruns. Signed-off-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/802/fddi.c: add MODULE_LICENSEAdrian Bunk2009-04-06
| | | | | | | This patch adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* smsc911x: remove unused #include <linux/version.h>Huang Weiyi2009-04-06
| | | | | | | Remove unused #include <linux/version.h> in drivers/net/smsc911x.c. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* axnet_cs: fix phy_id detection for bogus Asix chip.Ken Kawasaki2009-04-06
| | | | | | | | | | | | | axnet_cs: (1) Some Asix phy return bogus value except 0 or 0xffff. Skip this phy_id. (2) Some Asix chip need to set "select Internal PHY" bit at AX88190_init. Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Use request_firmware()Michael Chan2009-04-04
| | | | | | | | | | | | | | | | Based on original patch by Ben Hutchings <ben@decadent.org.uk> and Bastian Blank <waldi@debian.org>, with the following main changes: Separated the mips firmware and rv2p firmware into different files to make it easier to update them separately. Added some code to fixup the rv2p code with run-time information such as PAGE_SIZE. Update version to 2.0.0. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* b44: Fix sizes passed to b44_sync_dma_desc_for_{device,cpu}()Michael Buesch2009-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > ------------[ cut here ]------------ > > WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) > > Hardware name: HP Compaq nx6110 (PY501EA#AB9) > > b44 0000:02:0e.0: DMA-API: device driver tries to sync DMA memory it has not > > allocated [device address=0x0000000075941040] [size=1566 bytes] > > Modules linked in: llc bnep l2cap bluetooth autofs4 lm90 hwmon i2c_i801 sunrpc > > ipv6 cpufreq_ondemand acpi_cpufreq uinput snd_intel8x0m snd_intel8x0 > > snd_ac97_codec snd_seq_dummy ac97_bus snd_seq_oss snd_seq_midi_event snd_seq > > snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm b44 ssb firewire_ohci > > snd_timer ipw2200 iTCO_wdt mii firewire_core snd iTCO_vendor_support libipw > > yenta_socket crc_itu_t lib80211 rsrc_nonstatic soundcore snd_page_alloc joydev > > pcspkr wmi serio_raw ata_generic pata_acpi i915 drm i2c_algo_bit i2c_core video > > output [last unloaded: scsi_wait_scan] > > Pid: 2418, comm: S58ntpd Not tainted 2.6.29-16.fc10.i686.PAE #1 > > Call Trace: > > [<c04396d1>] warn_slowpath+0x7c/0xbd > > [<c0457fe1>] ? register_lock_class+0x17/0x290 > > [<c0458d61>] ? mark_lock+0x1e/0x349 > > [<c0556448>] ? _raw_spin_unlock+0x74/0x78 > > [<c0458d61>] ? mark_lock+0x1e/0x349 > > [<c055a060>] ? check_sync+0x37/0x341 > > [<c055a112>] check_sync+0xe9/0x341 > > [<c0711245>] ? _spin_unlock_irqrestore+0x45/0x55 > > [<c04592db>] ? trace_hardirqs_on+0xb/0xd > > [<c055a4d1>] debug_dma_sync_single_for_device+0x2f/0x39 > > [<f828f722>] dma_sync_single_for_device+0x4a/0x59 [b44] > > [<f828f76f>] ssb_dma_sync_single_for_device+0x3e/0x48 [b44] > > [<f8291d1e>] b44_recycle_rx+0x18c/0x196 [b44] > > [<f8291f9f>] b44_poll+0x277/0x3c0 [b44] > > [<c0687bb9>] net_rx_action+0xa1/0x1ca > > [<c043e30a>] __do_softirq+0x9d/0x154 > > [<c043e413>] do_softirq+0x52/0x7e > > [<c043e56f>] irq_exit+0x49/0x77 > > [<c040b22e>] do_IRQ+0x97/0xad > > [<c0409dac>] common_interrupt+0x2c/0x34 I don't know if this is related, but the following patch seems to fix some DMA mapping bug. Can somebody comment who does understand the code better than me? (completely untested) Signed-off-by: David S. Miller <davem@davemloft.net>
* socket: use percpu_add() while updating sockets_in_useEric Dumazet2009-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sock_alloc() currently uses following code to update sockets_in_use get_cpu_var(sockets_in_use)++; put_cpu_var(sockets_in_use); This translates to : c0436274: b8 01 00 00 00 mov $0x1,%eax c0436279: e8 42 40 df ff call c022a2c0 <add_preempt_count> c043627e: bb 20 4f 6a c0 mov $0xc06a4f20,%ebx c0436283: e8 18 ca f0 ff call c0342ca0 <debug_smp_processor_id> c0436288: 03 1c 85 60 4a 65 c0 add -0x3f9ab5a0(,%eax,4),%ebx c043628f: ff 03 incl (%ebx) c0436291: b8 01 00 00 00 mov $0x1,%eax c0436296: e8 75 3f df ff call c022a210 <sub_preempt_count> c043629b: 89 e0 mov %esp,%eax c043629d: 25 00 e0 ff ff and $0xffffe000,%eax c04362a2: f6 40 08 08 testb $0x8,0x8(%eax) c04362a6: 75 07 jne c04362af <sock_alloc+0x7f> c04362a8: 8d 46 d8 lea -0x28(%esi),%eax c04362ab: 5b pop %ebx c04362ac: 5e pop %esi c04362ad: c9 leave c04362ae: c3 ret c04362af: e8 cc 5d 09 00 call c04cc080 <preempt_schedule> c04362b4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi c04362b8: eb ee jmp c04362a8 <sock_alloc+0x78> While percpu_add(sockets_in_use, 1) translates to a single instruction : c0436275: 64 83 05 20 5f 6a c0 addl $0x1,%fs:0xc06a5f20 Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* virtio_net: Set the mac config only when VIRITO_NET_F_MACAlex Williamson2009-04-04
| | | | | | | | | | | VIRTIO_NET_F_MAC indicates the presence of the mac field in config space, not the validity of the value it contains. Allow the mac to be changed at runtime, but only push the change into config space with the VIRTIO_NET_F_MAC feature present. Signed-off-by: Alex Williamson <alex.williamson@hp.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* myri_sbus: use request_firmwareJaswinder Singh Rajput2009-04-04
| | | | | | | | | | Firmware blob looks like this... __be16 lanai4_data_size unsigned char lanai4_code[] Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* e1000: fix loss of multicast packetsJesse Brandeburg2009-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | e1000 (and e1000e, igb, ixgbe, ixgb) all do a series of operations each time a multicast address is added. The flow goes something like 1) stack adds one multicast address 2) stack passes whole current list of unicast and multicast addresses to driver 3) driver clears entire list in hardware 4) driver programs each multicast address using iomem in a loop This was causing multicast packets to be lost during the reprogramming process. reference with test program: http://kerneltrap.org/mailarchive/linux-netdev/2009/3/14/5160514/thread Thanks to Dave Boutcher for his report and test program. This driver fix prepares an array all at once in memory and programs it in one shot to the hardware, not requiring an "erase" cycle. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* vxge: should include tcp.hAlexander Beregalov2009-04-04
| | | | | | | | | | | | Fix this build error: drivers/net/vxge/vxge-main.c: In function 'vxge_get_vpath_no': drivers/net/vxge/vxge-main.c:695: error: dereferencing pointer to incomplete type ... Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* glge: remove unused #include <version.h>Huang Weiyi2009-04-02
| | | | | | | Remove unused #include <version.h> in drivers/net/qlge/qlge_ethtool. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* dnet: remove unused #include <version.h>Huang Weiyi2009-04-02
| | | | | | | Remove unused #include <version.h> in drivers/net/dnet.c. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tcp: miscounts due to tcp_fragment pcount resetIlpo Järvinen2009-04-02
| | | | | | | | | | | | | | | | | It seems that trivial reset of pcount to one was not sufficient in tcp_retransmit_skb. Multiple counters experience a positive miscount when skb's pcount gets lowered without the necessary adjustments (depending on skb's sacked bits which exactly), at worst a packets_out miscount can crash at RTO if the write queue is empty! Triggering this requires mss change, so bidir tcp or mtu probe or like. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de> Tested-by: Uwe Bugla <uwe.bugla@gmx.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* tcp: add helper for counter tweaking due mid-wq changeIlpo Järvinen2009-04-02
| | | | | | | | | We need full-scale adjustment to fix a TCP miscount in the next patch, so just move it into a helper and call for that from the other places. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
* hso: fix for the 'invalid frame length' messagesJan Dumon2009-04-02
| | | | | | | | | | Some devices cannot send very short usb transfers. To get around this the firmware adds a known pattern and flags the driver that it should check for this pattern on short transfers. This flag was not taken into account by the driver. Signed-off-by: Jan Dumon <j.dumon@option.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* hso: fix for crash when unplugging the deviceJan Dumon2009-04-02
| | | | | | | | Changed the order in which things are freed. This fixes an oops when unplugging the device while network traffic is ongoing. Signed-off-by: Jan Dumon <j.dumon@option.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* fsl_pq_mdio: Fix compile failureSegher Boessenkool2009-04-02
| | | | | | | | Add EXPORT_SYMBOL_GPL(fsl_pq_mdio_bus_name) for module builds Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* fsl_pq_mdio: Revive UCC MDIO supportAnton Vorontsov2009-04-02
| | | | | | | | | | | | | commit 1577ecef766650a57fceb171acee2b13cbfaf1d3 ("netdev: Merge UCC and gianfar MDIO bus drivers") introduced a regression so that UCC MDIO buses no longer work. This is because fsl_pq_mdio driver wrongly masks all non-TBI PHYs for !fsl,gianfar-mdio buses, while it should do that only for fsl,gianfar-tbi buses. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ucc_geth: Pass proper device to DMA routines, otherwise oops happensAnton Vorontsov2009-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | The driver should pass a device that actually specifies internal DMA ops, but currently it passes netdev's device, which is wrong and that causes following oops: Kernel BUG at c01c4df8 [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] [...] NIP [c01c4df8] get_new_skb+0x7c/0xf8 LR [c01c4da4] get_new_skb+0x28/0xf8 Call Trace: [ef82be00] [c01c4da4] get_new_skb+0x28/0xf8 (unreliable) [ef82be20] [c01c4eb8] rx_bd_buffer_set+0x44/0x98 [ef82be40] [c01c62bc] ucc_geth_startup+0x11b0/0x147c [ef82be80] [c01c6674] ucc_geth_open+0xec/0x2a4 [ef82bea0] [c02288a4] dev_open+0xc0/0x11c [...] Fix this by passing of_device's device that specifies DMA ops in its archdata. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* i.MX31: Fixing cs89x0 network building to i.MX31ADSAlan Carvalho de Assis2009-04-02
| | | | | | | This is a fix to get cs89x0 network driver working on i.MX31ADS Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tc35815: Fix build error if NAPI enabledAtsushi Nemoto2009-04-02
| | | | | | | | | | | This driver contains experimental NAPI code disabled by default. The commit bea3348ee ("[NET]: Make NAPI polling independent of struct net_device objects.") converted the NAPI path of this driver but that conversion was not complete. This patch fixes a build error introduced by the commit. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* hso: add Vendor/Product ID's for new devicesJan Dumon2009-04-02
| | | | | | | | | Add Vendor/Product ID's for new devices. Removed duplicate product ID 0x7361. Signed-off-by: Jan Dumon <j.dumon@option.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ucc_geth: Remove unused headerKumar Gala2009-04-02
| | | | | | | | Now that the driver is exclusively an of_platform driver we no longer use the structs and #defines in fsl_devices.h Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* gianfar: Remove unused headerKumar Gala2009-04-02
| | | | | | | | Now that the driver is exclusively an of_platform driver we no longer use the structs and #defines in fsl_devices.h Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* kaweth: Fix locking to be SMP-safeLarry Finger2009-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On an SMP system, the following message is printed. The patch below gets fixes the problem. ================================= [ INFO: inconsistent lock state ] 2.6.29-Linus-05093-gc31f403 #57 --------------------------------- inconsistent {hardirq-on-W} -> {in-hardirq-W} usage. bash/4105 [HC1[1]:SC0[0]:HE0:SE1] takes: (&kaweth->device_lock){+...}, at: [<ffffffffa01aa286>] kaweth_usb_receive+0x77/0x1af [kaw eth] {hardirq-on-W} state was registered at: [<ffffffff80260503>] __lock_acquire+0x753/0x1685 [<ffffffff8026148a>] lock_acquire+0x55/0x71 [<ffffffff80461ba6>] _spin_lock+0x31/0x3d [<ffffffffa01aaa0c>] kaweth_start_xmit+0x2b/0x1e1 [kaweth] [<ffffffff803eccd3>] dev_hard_start_xmit+0x22e/0x2ad [<ffffffff803fe120>] __qdisc_run+0xf2/0x203 [<ffffffff803ed0cd>] dev_queue_xmit+0x263/0x39b [<ffffffffa03a47cb>] packet_sendmsg_spkt+0x1c4/0x20a [af_packet] [<ffffffff803de0c2>] sock_sendmsg+0xe4/0xfd [<ffffffff803dec8f>] sys_sendto+0xe4/0x10c [<ffffffff8020bccb>] system_call_fastpath+0x16/0x1b [<ffffffffffffffff>] 0xffffffffffffffff irq event stamp: 1280 hardirqs last enabled at (1279): [<ffffffff80461a71>] _spin_unlock_irqrestore+0x44/0x4c hardirqs last disabled at (1280): [<ffffffff8020bad7>] save_args+0x67/0x70 softirqs last enabled at (660): [<ffffffff8024192c>] __do_softirq+0x14d/0x15d softirqs last disabled at (651): [<ffffffff8020ce9c>] call_softirq+0x1c/0x28 Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: allow multiple dev per napi with GROStephen Hemminger2009-04-02
| | | | | | | | | | | GRO assumes that there is a one-to-one relationship between NAPI structure and network device. Some devices like sky2 share multiple devices on a single interrupt so only have one NAPI handler. Rather than split GRO from NAPI, just have GRO assume if device changes that it is a different flow. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* r8169: reset IntrStatus after chip resetKarsten Wiese2009-04-02
| | | | | | | | | | | | | | | | | | | | | Original comment (Karsten): On a MSI MS-6702E mainboard, when in rtl8169_init_one() for the first time after BIOS has run, IntrStatus reads 5 after chip has been reset. IntrStatus should equal 0 there, so patch changes IntrStatus reset to happen after chip reset instead of before. Remark (Francois): Assuming that the loglevel of the driver is increased above NETIF_MSG_INTR, the bug reveals itself with a typical "interrupt 0025 in poll" message at startup. In retrospect, the message should had been read as an hint of an unexpected hardware state several months ago :o( Fixes (at least part of) https://bugzilla.redhat.com/show_bug.cgi?id=460747 Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Tested-by: Josep <josep.puigdemont@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: Fix potential memory leak/driver panic issue while setting up Tx & Rx ↵Mallikarjuna R Chilakala2009-04-02
| | | | | | | | | | | | | | | ring parameters While setting up the ring parameters using ethtool the driver can panic or leak memory as ixgbe_open tries to setup tx & rx resources. The updated logic will use ixgbe_down/up after successful allocation of tx & rx resources Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> CC: stable@kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: fix ethtool -A|a behaviorDon Skidmore2009-04-02
| | | | | | | | | | | We were basicly ignoring ethtool users request for FC autoneg and replying to queries with a "best guess". This patch enables the driver to store if we want to enable/disable autoneg FC and do the correct behavior. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: Patch to fix driver panic while freeing up tx & rx resourcesMallikarjuna R Chilakala2009-04-02
| | | | | | | | | | | When network interface is made active we were not handling the error scenarios properly to clean up rx & tx resources which might result in a driver panic. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: refactor tx buffer processing to use skb_dma_map/unmapAlexander Duyck2009-04-02
| | | | | | | | | | | | This patch resolves an issue with map single being used to map a buffer and then unmap page being used to unmap it. In addition it handles any error conditions that may be detected using skb_dma_map. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Acked-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: Fix 82598 MSI-X allocation on systems with more than 8 CPU coresPJ Waskiewicz2009-04-02
| | | | | | | | | | MSI-X allocation broke after the 82599 merge on systems with more than 8 CPU cores. 82598 drops back into MSI mode, which isn't sufficient to run full, efficient 10G line rate. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: feature - driver to default with FC on.Don Skidmore2009-04-02
| | | | | | | | | | | | | | | In the past flow control wasn't enabled by default under the incorrect assumption that this opened up us to a denial of service attack. However since any switch that forwarded flow control would be extremely msiconfigured and/or buggy, this concern no longer out weighs the preformance gains from having FC enabled. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Acked-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: Fix DCB netlink layer for 82599 to enable Priority Flow ControlPJ Waskiewicz2009-04-02
| | | | | | | | | | | The priority flow control settings from the netlink layer aren't taking effect in the base driver. The boolean pfc_mode_enable in the dcb_config struct isn't being set, so the hardware configuration code is never reached. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: Fix ethtool output with advertised mode.Don Skidmore2009-04-02
| | | | | | | | | | | | | | Ethtool tries to get advertised speed from phy.autoneg_advertised. However for copper media this wasn't happening until later do to an other fix which moved mac.ops.setup_link_speed placement in ixgbe_link_config(). This patch will display the default advertised speeds if it can't yet get this information from phy.autoneg_advertised. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Acked-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ixgbe: fix build when DEBUG is definedAlexander Duyck2009-04-02
| | | | | | | | | | | The ixgbe driver had issues when DEBUG was defined because the hw_dbg macro was incomplete. This patch completes the code based off of the code that already existed in the igb module. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/igb: Fix kexec with igb (rev. 3)Rafael J. Wysocki2009-04-02
| | | | | | | | | | | | | | | | | | | | Impact: Fix Yinghai Lu found one system with 82575EB where, in the kernel that is kexeced, probe igb failed with -2, the reason being that the adapter could not be brought back from D3 by the kexec kernel, most probably due to quirky hardware (it looks like the same behavior happened on forcedeth). Prevent igb from putting the adapter into D3 during shutdown except when we going to power off the system. For this purpose, seperate igb_shutdown() from igb_suspend() and use the appropriate PCI PM callbacks in both of them. Signed-off-by: "Rafael J. Wysocki" <rjw@sisk.pl> Reported-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* igb: cleanup igb loopback pathAlexander Duyck2009-04-02
| | | | | | | | | | The code path for setting up phy loopback testing was out of date and was setting bits it didn't need to. This change cleans up the code path and removes some code that has no effect on teh driver. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* igb: increase delay for copper link setupAlexander Duyck2009-04-02
| | | | | | | | | | Increase the delay for copper phy init from 15ms to 100ms. This is to address issues seen in which ethtool -t was failing in some cases on 82576 based adapters. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* igb: set num_rx/tx_queues to 0 when queues are freedAlexander Duyck2009-04-02
| | | | | | | | | | | | An issue was seen on suspend in which the system reported a page fault. This was due to the new reg_idx code being called after the queues were freed. This update prevents any for loops from going through the queues by setting the number of queues to 0 when they are freed. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* igb: add support for x2 link width configurationsAlexander Duyck2009-04-02
| | | | | | | | | | | | When device is on PCIe link trained as x2 the driver is currently reporting link width as "unknown". The original patch provided by Myron adds the x2 link support and my changes are cosmetic to clean up the readability of the conditional operators. Based on work by: Myron Stowe <myron.stowe@hp.com> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/fec_mpc52xx: Don't dereference phy_device if it is NULLGrant Likely2009-04-02
| | | | | | | | | | The FEC Ethernet device isn't always attached to a phy. Be careful not to dereference phy_device if it is NULL. Also eliminates an unnecessary extra function from the ioctl path. Reported-by: Henk Stegeman <henk.stegeman@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/fec_mpc52xx: Migrate to net_device_ops.Henk Stegeman2009-04-02
| | | | | | | | | | Since not using net_device_ops gets you shunned out the cool crowd, this patch modifies the fec_mpc52xx Ethernet driver to provide the management hooks via a struct net_device_ops. Reported-by: Henk Stegeman <henk.stegeman@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/fec_mpc52xx: fix BUG on missing dma_opsGrant Likely2009-04-02
| | | | | | | | | | | The driver triggers a BUG_ON() when allocating DMA buffers because the arch/powerpc dma_ops aren't in the net_device's struct device. This patch fixes the problem by using the parent of_device which does have the correct dma_ops set. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Reviewed-by: Becky Bruce <beckyb@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>