- 论坛徽章:
- 15
|
gaojl0728 发表于 2015-01-12 15:49 ![]()
不太可能是硬件错误, 大部分这种空指针都是驱动bug引起的, 不知道你的网卡是什么驱动?
我感觉next指针 ...
看igb代码dev_id是在request_irq中传入的igb_adapter结构体,查看其内容,看起来是正常的,不像会越界。。。
struct igb_adapter {
watchdog_timer = {
entry = {
next = 0xffff81032ae53500,
prev = 0xffff810321fb4000
},
expires = 13455015936,
function = 0x10000001000,
data = 14004156690161729791,
base = 0xffffc20000069000
},
phy_info_timer = {
entry = {
next = 0x28800000010,
prev = 0x9000000001690
},
expires = 0,
function = 0,
data = 0,
base = 0x0
},
vlgrp = 0x0,
mng_vlan_id = 0,
bd_number = 0,
rx_buffer_len = 0,
wol = 0,
en_mng_pt = 0,
link_speed = 0,
link_duplex = 0,
total_tx_bytes = 0,
total_tx_packets = 0,
total_rx_bytes = 0,
total_rx_packets = 0,
itr = 719663104,
itr_setting = 4294934787,
tx_itr = 0,
rx_itr = 0,
reset_task = {
pending = 0,
entry = {
next = 0x0,
prev = 0x0
},
func = 0xffff81032b1c7000,
data = 0x0,
wq_data = 0x0,
timer = {
entry = {
next = 0x0,
prev = 0x0
},
expires = 0,
function = 0,
data = 0,
base = 0x0
}
},
watchdog_task = {
pending = 0,
entry = {
next = 0x0,
prev = 0x0
},
func = 0,
data = 0x0,
wq_data = 0x0,
timer = {
entry = {
next = 0x0,
prev = 0x0
},
expires = 0,
function = 0x1,
data = 18446604462036712560,
base = 0xffff81061fd57c70
}
},
fc_autoneg = false,
tx_timeout_factor = 0 '\0',
blink_timer = {
entry = {
next = 0x0,
prev = 0x0
},
expires = 0,
function = 0,
data = 0,
base = 0x0
},
led_status = 0,
tx_ring = 0x0,
restart_queue = 0,
tx_queue_len = 0,
txd_cmd = 0,
gotc = 0,
gotc_old = 0,
tpt_old = 0,
colc_old = 0,
tx_timeout_count = 0,
rx_ring = 0x0,
num_tx_queues = 0,
num_rx_queues = 0,
hw_csum_err = 0,
hw_csum_good = 0,
alloc_rx_buff_failed = 0,
rx_csum = false,
gorc = 0,
gorc_old = 0,
rx_ps_hdr_size = 0,
max_frame_size = 0,
min_frame_size = 0,
netdev = 0x0,
pdev = 0x0,
net_stats = {
rx_packets = 0,
tx_packets = 0,
rx_bytes = 0,
tx_bytes = 0,
rx_errors = 0,
tx_errors = 0,
rx_dropped = 0,
tx_dropped = 0,
multicast = 0,
collisions = 0,
rx_length_errors = 0,
rx_over_errors = 0,
rx_crc_errors = 0,
rx_frame_errors = 0,
rx_fifo_errors = 0,
rx_missed_errors = 0,
tx_aborted_errors = 0,
tx_carrier_errors = 0,
tx_fifo_errors = 0,
tx_heartbeat_errors = 0,
tx_window_errors = 0,
rx_compressed = 0,
tx_compressed = 0
},
hw = {
back = 0x0,
hw_addr = 0x0,
flash_address = 0x0,
io_base = 0,
mac = {
ops = {
check_for_link = 0,
reset_hw = 0,
init_hw = 0,
check_mng_mode = 0,
setup_physical_interface = 0,
rar_set = 0,
read_mac_addr = 0,
get_speed_and_duplex = 0
},
addr = "\000\000\000\000\000",
perm_addr = "\000\000\000\000\000",
type = e1000_undefined,
collision_delta = 0,
ledctl_default = 0,
ledctl_mode1 = 0,
ledctl_mode2 = 0,
mc_filter_type = 0,
tx_packet_delta = 1,
txcw = 1,
current_ifs_val = 0,
ifs_max_val = 0,
ifs_min_val = 1,
ifs_ratio = 0,
ifs_step_size = 1,
mta_reg_count = 0,
rar_entry_count = 0,
forced_speed_duplex = 0 '\0',
adaptive_ifs = false,
arc_subsystem_valid = false,
asf_firmware_present = false,
autoneg = false,
autoneg_failed = false,
disable_hw_init_bits = false,
get_link_status = false,
ifs_params_forced = false,
in_ifs_mode = false,
report_tx_early = false,
serdes_has_link = false,
tx_pkt_filtering = false
},
fc = {
high_water = 2921475440,
low_water = 4294934786,
pause_time = 0,
send_xon = false,
strict_ieee = false,
type = e1000_fc_none,
original_type = e1000_fc_none
},
phy = {
ops = {
acquire = 0,
check_reset_block = 0,
force_speed_duplex = 0,
get_cfg_done = 0,
get_cable_length = 0,
get_phy_info = 0,
read_reg = 0,
release = 0,
reset = 0,
set_d0_lplu_state = 0,
set_d3_lplu_state = 0,
write_reg = 0
},
type = e1000_phy_unknown,
local_rx = e1000_1000t_rx_status_not_ok,
remote_rx = e1000_1000t_rx_status_not_ok,
ms_type = e1000_ms_hw_default,
original_ms_type = e1000_ms_hw_default,
cable_polarity = e1000_rev_polarity_normal,
smart_speed = e1000_smart_speed_default,
addr = 0,
id = 0,
reset_delay_us = 0,
revision = 0,
media_type = e1000_media_type_unknown,
autoneg_advertised = 0,
autoneg_mask = 0,
cable_length = 0,
max_cable_length = 0,
min_cable_length = 0,
mdix = 0 '\0',
disable_polarity_correction = false,
is_mdix = false,
polarity_correction = false,
reset_disable = false,
speed_downgraded = false,
autoneg_wait_to_complete = false
},
.... |
|