16 Dec, 2008
5 commits
-
Conflicts:
drivers/net/e1000e/ich8lan.c
-
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
Phonet: keep TX queue disabled when the device is off
SCHED: netem: Correct documentation comment in code.
netfilter: update rwlock initialization for nat_table
netlabel: Compiler warning and NULL pointer dereference fix
e1000e: fix double release of mutex
IA64: HP_SIMETH needs to depend upon NET
netpoll: fix race on poll_list resulting in garbage entry
ipv6: silence log messages for locally generated multicast
sungem: improve ethtool output with internal pcs and serdes
tcp: tcp_vegas cong avoid fix
sungem: Make PCS PHY support partially work again. -
Part of the rfkill initialization was done whenever BT was on or not. The
following patch checks for BT presence before registering the rfkill to
the input layer. Some minor cleanups (> 80 char lines) were also added in
the process.On Tue, Oct 28, 2008 at 10:10:37PM +0300, Andrey Borzenkov wrote:
[...]
> [ 66.633036] toshiba_acpi: Toshiba Laptop ACPI Extras version 0.19
> [ 66.633054] toshiba_acpi: HCI method: \_SB_.VALD.GHCI
> [ 66.637764] input: Toshiba RFKill Switch as /devices/virtual/input/input3
[...]
> [ 113.920753] ------------[ cut here ]------------
> [ 113.920828] kernel BUG at /home/bor/src/linux-git/net/rfkill/rfkill.c:347!
> [ 113.920845] invalid opcode: 0000 [#1]
> [ 113.920877] last sysfs file: /sys/devices/pci0000:00/0000:00:04.0/host0/target0:0:0/0:0:0:0/block/sda/size
> [ 113.920900] Dumping ftrace buffer:
> [ 113.920919] (ftrace buffer empty)
> [ 113.920933] Modules linked in: af_packet irnet ppp_generic slhc ircomm_tty ircomm binfmt_misc loop dm_mirror dm_region_hash dm_log dm_round_robin dm_multipath dm_mod alim15x3 ide_core nvram toshiba cryptomgr aead crypto_blkcipher michael_mic crypto_algapi orinoco_cs orinoco hermes_dld hermes pcmcia firmware_class snd_ali5451 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device smsc_ircc2 snd_pcm_oss snd_pcm rtc_cmos irda snd_timer snd_mixer_oss rtc_core snd crc_ccitt yenta_socket rtc_lib rsrc_nonstatic i2c_ali1535 pcmcia_core pcspkr psmouse soundcore i2c_core evdev sr_mod snd_page_alloc alim1535_wdt cdrom fan sg video output toshiba_acpi rfkill thermal backlight ali_agp processor ac button input_polldev battery agpgart ohci_hcd usbcore reiserfs pata_ali libata sd_mod scsi_mod [last unloaded: scsi_wait_scan]
> [ 113.921765]
> [ 113.921785] Pid: 3272, comm: ipolldevd Not tainted (2.6.28-rc2-1avb #3) PORTEGE 4000
> [ 113.921801] EIP: 0060:[] EFLAGS: 00010246 CPU: 0
> [ 113.921854] EIP is at rfkill_force_state+0x53/0x90 [rfkill]
> [ 113.921870] EAX: 00000000 EBX: 00000000 ECX: 00000003 EDX: 00000000
> [ 113.921885] ESI: 00000000 EDI: ddd50300 EBP: d8d7af40 ESP: d8d7af24
> [ 113.921900] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
> [ 113.921918] Process ipolldevd (pid: 3272, ti=d8d7a000 task=d8d93c90 task.ti=d8d7a000)
> [ 113.921933] Stack:
> [ 113.921945] d8d7af38 00000246 dfb029d8 dfb029c0 dfb029d8 dfb029c0 ddd50300 d8d7af5c
> [ 113.922014] dfb018e2 01000246 01000000 ddd50300 ddd50314 ddabb8a0 d8d7af68 dfb381c1
> [ 113.922098] 00000000 d8d7afa4 c012ec0a 00000000 00000002 00000000 c012eba8 ddabb8c0
> [ 113.922240] Call Trace:
> [ 113.922240] [] ? bt_poll_rfkill+0x5c/0x82 [toshiba_acpi]
> [ 113.922240] [] ? input_polled_device_work+0x11/0x40 [input_polldev]
> [ 113.922240] [] ? run_workqueue+0xea/0x1f0
> [ 113.922240] [] ? run_workqueue+0x88/0x1f0
> [ 113.922240] [] ? input_polled_device_work+0x0/0x40 [input_polldev]
> [ 113.922240] [] ? worker_thread+0x87/0xf0
> [ 113.922240] [] ? autoremove_wake_function+0x0/0x50
> [ 113.922240] [] ? worker_thread+0x0/0xf0
> [ 113.922240] [] ? kthread+0x3f/0x80
> [ 113.922240] [] ? kthread+0x0/0x80
> [ 113.922240] [] ? kernel_thread_helper+0x7/0x10
> [ 113.922240] Code: 43 54 89 73 54 39 c6 74 11 89 d9 ba 01 00 00 00 b8 40 68 aa df e8 3e 35 69 e0 89 f8 e8 77 fd 85 e0 31 c0 83 c4 10 5b 5e 5f 5d c3 0b eb fe 89 f6 8d bc 27 00 00 00 00 be f4 4d aa df bb 5f 01
> [ 113.922240] EIP: [] rfkill_force_state+0x53/0x90 [rfkill] SS:ESP 0068:d8d7af24
> [ 113.924700] ---[ end trace 0e404eb40cadd5f0 ]---Signed-off-by: Frederik Deweerdt
Tested-by: Andrey Borzenkov
Acked-by: Len Brown
Cc: Richard Purdie
Acked-by: Philip Langdale
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Cc: Michael Hennerich
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu
Cc: Dominik Brodowski
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Based upon a report from Randy Dunlap.
The compat netdev ops assignments need to happen in
8390.c and 8390p.c, not lib8390.c, as only the type
specific code can assign the correct function pointers.Signed-off-by: David S. Miller
15 Dec, 2008
2 commits
-
This issue was initially reported by Joerg Roedel
It appears that ixgbe has had a long standing bug where it was unmapping a different size than it had mapped.ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different sizes than it mapped.
ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different size [device address=0x0000000003fed812] [map size=258 bytes] [unmap size=256 bytes]
Pid: 6178, comm: rmmod Not tainted 2.6.28-rc5 #4 Call Trace:
[] iommu_queue_inv_iommu_pages+0x5e/0x70
[] check_unmap+0x1c6/0x240 [] debug_unmap_single+0xb5/0x110 [] ixgbe_clean_rx_ring+0x147/0x220 [] ixgbe_down+0x2fd/0x3d0 [ixgbe] [] ixgbe_close+0x13/0xc0 [ixgbe] [] dev_close+0x56/0xa0 [] rollback_registered+0x43/0x220 [] unregister_netdevice+0x15/0x60 [] unregister_netdev+0x11/0x20 [] ixgbe_remove+0x48/0x16e [ixgbe] [] pci_device_remove+0x2c/0x60 [] __device_release_driver+0x99/0x100
[] driver_detach+0xb8/0xc0 [] bus_remove_driver+0x8e/0xd0 [] pci_unregister_driver+0x34/0x90 [] sys_delete_module+0x1c7/0x2a0 [] do_munmap+0x349/0x390 [] __up_write+0x21/0x150 [] system_call_fastpath+0x16/0x1bSigned-off-by: Jesse Brandeburg
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch adds support for SMSC's LAN9420 PCI ethernet controller
to ethtool's dump registers (-d) command.This patch is for use with an accompanying ethtool patch, which decodes
the register dump.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
14 Dec, 2008
4 commits
-
* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
i2c-highlander: Trivial endian casting fixes
i2c-pmcmsp: Fix endianness misannotation -
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
Commands needing to be retried require a complete re-initialization. -
For the console, there is a 1:1 mapping of glyphs which cannot be found
in the current font. This seems to be meant as a kind of 'emergency
fallback' for fonts without unicode mapping which otherwise would
display nothing readable on the screen.At the moment it affects all chars for which no substitution character
is defined. In particular this means that for all chars (>= 128) where
there is no iso88591-1/unicode character (e.g. control character area)
you'll get the very strange 1:1 mapping of the (cp437) graphics card
glyphs.I'm pretty sure that the 1:1 mapping should only affect strict ASCII
code characters, i.e. chars < 128.The patch limits the mapping as it probably was meant anyway.
Signed-off-by: Ingo Brueckl
Acked-by: H. Peter Anvin
Cc: Egmont Koblinger
Signed-off-by: Linus Torvalds -
There is a major bug in the cp437 to unicode translation table. Char
0x7c is mapped to U+00a5 which is the Yen sign and wrong. The right
mapping is U+00a6 (broken bar).Furthermore, a mapping for U+00b4 (a widely used character) is missing
even though easily possible.The patch fixes these, as well as it provides a few other useful
mappings.The changes are as follows:
0x0f (enhancement) enables a sort of currency symbol
0x27 (bug) enables a sort of acute accent which is a widely used character
0x44 (enhancement) enables a sort of icelandic capital letter eth
0x7c (major bug) corrects mapping
0xeb (enhancement) enables a sort of icelandic small letter eth
0xee (enhancement) enables a sort of math 'element of'Signed-off-by: Ingo Brueckl
Acked-by: H. Peter Anvin
Signed-off-by: Linus Torvalds
13 Dec, 2008
29 commits
-
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Currently efx_mtd_rename() can race with the probe() and remove()
functions.Move probe() before device registration and remove() after
unregistration. Move initialisation/update of all names based on the
netdev name into a new function and call it under the RTNL immediately
after registration.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Currently the mtd field is not initialised early enough.
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
From: Steve Hodgson
efx_pci_probe_main() can return success despite a reset being scheduled.
Catch this and retry or abort probe depending on the reset type.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Some of the PHY type names are overly generic. Change them to include
the model numbers of the PHYs they represent.Correct the model number reference at the top of xfp_phy.c.
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
ethtool must contend with the MTD driver for the SPI bus lock, which
may carry out long operations such as flash erase. Allow it to be
interrupted while waiting.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Our ethtool self-test result names each begin with a component name. For
some results this is "port0", which is not very meaningful. Change that
to "rx" or "phy" as appropriate.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Add support code for the SFN4111T 100/1000/10GBASE-T reference design,
based in part on the existing code for the SFE4001.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Add type codes for the new PHY and rename the SFX7101 type code.
Add definition of clause 22 extension MMD.
Adapt the 10Xpress SFX7101 code to support the SFT9001 as well.
Clean up register definitions.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
From: Steve Hodgson
MAC, PHY and board events may be separately enabled and signalled.
Our current arrangement of chaining the polling functions can result
in events being missed. Change them to be more independent.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Add infrastructure for auto-negotiation of speed, duplex and flow
control.When using 10Xpress, auto-negotiate flow control. While we're
at it, clean up the code to warn when partner is not 10GBASE-T
capable.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
The SFC4000 has a separate MAC for use at sub-10G speeds. Introduce
an efx_mac_operations structure with implementations for the two MACs.
Switch between the MACs as necessary.PHY settings are independent of the MAC, so add get_settings() and
set_settings() to efx_phy_operations. Also add macs field to indicate
which MACs the PHY is connected to.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
We often want to set or clear a flag in an MDIO register, but avoid
writing if no change is required since this can have side-effects.
Encapsulate this in a function, mdio_clause45_set_flag().Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Remove kluge for development boards with unspecified board type.
Remove assumption of contiguous board type code assignments.
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Combine DEVS0 and DEVS1 registers into a 32-bit mask instead of
reading just DEVS0.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Replace efx_nic::link_options bitfield with link_speed (speed in
Mbit/s) and link_fd (full duplex flag).Remove broken auto-negotiation functions.
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
The loopback self-test checks that IP packets with incorrect checksums
are not altered when sent on a queue with checksum generation off.
These should not contribute to RX error statistics.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Change "channel" to "chan".
Shorten PHY loopback names.
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Allocate IRQs with the name format [-]- so that
future versions of irqbalanced understand what we're doing.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
In a bidirectional forwarding test, we find that the best performance
is achieved by sending the TX completion interrupts from one NIC to a
CPU which shares an L2 cache with RX completion interrupts from the
other NIC. To facilitate this, add an option (through a module
parameter) to create separate channels for RX and TX completion with
separate IRQs when MSI-X is available.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
This is needed for recovery in case a PHY firmware upgrade is aborted.
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
The SFC4000 has strap pins indicating the presence of SPI flash and/or
EEPROM. These pins are also used for GPIO, and in some cases they may
be read wrongly at reset. However, on production boards it must boot
from one or the other device, so we can assume the boot device is
present and read the board config from there.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Make falcon_spi_wait() ignore the write timer - it is only relevant to
write commands, it only works for the device that contains VPD, and it
might not be initialised properly at all.Rename falcon_spi_fast_wait() to falcon_spi_wait_write(), reflecting
its use, and make it wait up to 10 ms (not 1 ms) since buffered writes
to EEPROM may take this long to complete.Make both wait functions sleep instead of busy-waiting.
Replace wait for command completion at top of falcon_spi_cmd() with a
single poll; no command should be running when the function starts.Correct some comments.
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller