e_info
static int spear_mtd_erase(struct mtd_info *mtd, struct erase_info *e_info)
addr = e_info->addr;
len = e_info->len;
e_info(hw, "offline testing starting\n");
e_info(hw, "online testing starting\n");
e_info(hw, "testing %s interrupt\n", (shared_int ?
e_info(probe, "(PCI%s:%dMHz:%d-bit) %pM\n",
e_info(probe, "Intel(R) PRO/1000 Network Connection\n");
e_info("testing %s interrupt\n", (shared_int ? "shared" : "unshared"));
e_info("offline testing starting\n");
e_info("online testing starting\n");
e_info("MSI interrupt test failed, using legacy interrupt.\n");
e_info("Gigabit has been disabled, downgrading speed\n");
e_info("Autonegotiated half duplex but link partner cannot autoneg. Try forcing full duplex if link gets many collisions.\n");
e_info("PHY Wakeup cause - %s\n",
e_info("MAC Wakeup cause - %s\n",
e_info("(PCI Express:2.5GT/s:%s) %pM\n",
e_info("Intel(R) PRO/%s Network Connection\n",
e_info("MAC: %d, PHY: %d, PBA No: %s\n",
e_info("10/100 speed: disabling TSO\n");
e_info("registered PHC clock\n");
e_info("removed PHC\n");
e_info(hw, "testing %s interrupt\n", shared_int ?
e_info(hw, "offline testing starting\n");
e_info(hw, "register testing starting\n");
e_info(hw, "eeprom testing starting\n");
e_info(hw, "interrupt testing starting\n");
e_info(hw, "Skip MAC loopback diagnostic in VT mode\n");
e_info(hw, "loopback testing starting\n");
e_info(hw, "online testing starting\n");
e_info(probe, "rx-usecs value high enough to re-enable RSC\n");
e_info(probe, "rx-usecs set too low, disabling RSC\n");
e_info(probe,
e_info(probe, "setup link failed with code %d\n", err);
e_info(drv, "Enabling FCoE offload features.\n");
e_info(drv, "Disabling FCoE offload features.\n");
e_info(probe, "rx-usecs set too low, "
e_info(drv, "enabling bridge mode: %s\n",
e_info(probe, "IOV is enabled with %d VFs\n", adapter->num_vfs);
e_info(drv, "Resuming after VF err\n");
e_info(probe,
e_info(link, "Received ECC Err, initiating reset\n");
e_info(link, "Received ECC Err, initiating reset\n");
e_info(hw, "Legacy interrupt IVAR setup done\n");
e_info(drv, "NIC Link is Up %s, Flow Control: %s\n", speed_str,
e_info(drv, "NIC Link is Down\n");
e_info(drv,
e_info(probe, "detected SFP+: %d\n", hw->phy.sfp_type);
e_info(probe, "SR-IOV enabled with %d VFs\n", num_vfs);
e_info(drv, "VF %u is %strusted\n", vf, setting ? "" : "not ");
e_info(hw, "VF requests change max MTU to %d\n", max_frame);
e_info(probe, "VF Reset msg received from vf %d\n", vf);
if (aer_ratelimit(dev, e_info->severity)) {
e_info->ratelimit_print[i] = 1;
e_info->root_ratelimit_print = 1;
static bool is_error_source(struct pci_dev *dev, struct aer_err_info *e_info)
if ((PCI_BUS_NUM(e_info->id) != 0) &&
if (e_info->id == pci_dev_id(dev))
if (!e_info->multi_error_valid)
if (e_info->severity == AER_CORRECTABLE) {
struct aer_err_info *e_info = (struct aer_err_info *)data;
if (is_error_source(dev, e_info)) {
if (add_error_device(e_info, dev)) {
if (!e_info->multi_error_valid)
struct aer_err_info *e_info)
e_info->error_dev_num = 0;
result = find_device_iter(dev, e_info);
pcie_walk_rcec(parent, find_device_iter, e_info);
pci_walk_bus(parent->subordinate, find_device_iter, e_info);
if (!e_info->error_dev_num)
static inline void aer_process_err_devices(struct aer_err_info *e_info)
for (i = 0; i < e_info->error_dev_num && e_info->dev[i]; i++) {
if (aer_get_device_error_info(e_info, i))
aer_print_error(e_info, i);
for (i = 0; i < e_info->error_dev_num && e_info->dev[i]; i++) {
if (aer_get_device_error_info(e_info, i))
handle_error_source(e_info->dev[i], e_info);
struct aer_err_info e_info = {
aer_isr_one_error_type(root, &e_info);
struct aer_err_info e_info = {
aer_isr_one_error_type(root, &e_info);
static int add_error_device(struct aer_err_info *e_info, struct pci_dev *dev)
int i = e_info->error_dev_num;
e_info->dev[i] = pci_dev_get(dev);
e_info->error_dev_num++;
char e_info[MLXBF_PMC_EVENT_INFO_LEN];
len += snprintf(e_info, sizeof(e_info), "0x%x: %s\n",
strcat(buf, e_info);