Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba211e3e authored by Joe Perches's avatar Joe Perches Committed by David S. Miller
Browse files

drivers/net/atl1e: Use netdev_printk helpers



Logging messages sometimes had duplicated "ATL1E" output.

For instance:
ATL1E 0000:03:00.0: ATL1E: eth0 NIC Link is Up<100 Mbps Full Duplex>
is now:
ATL1E 0000:03:00.0: eth0: NIC Link is Up <100 Mbps Full Duplex>

Add some consistency to logging messages
Add some missing \n's to logging messages
Miscellaneous typo spelling corrections
Change atl1e_validate_option argument from pdev to adapter

Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 571ba423
Loading
Loading
Loading
Loading
+11 −12
Original line number Original line Diff line number Diff line
@@ -394,7 +394,6 @@ static int atl1e_phy_setup_autoneg_adv(struct atl1e_hw *hw)
int atl1e_phy_commit(struct atl1e_hw *hw)
int atl1e_phy_commit(struct atl1e_hw *hw)
{
{
	struct atl1e_adapter *adapter = hw->adapter;
	struct atl1e_adapter *adapter = hw->adapter;
	struct pci_dev *pdev = adapter->pdev;
	int ret_val;
	int ret_val;
	u16 phy_data;
	u16 phy_data;


@@ -415,12 +414,12 @@ int atl1e_phy_commit(struct atl1e_hw *hw)
		}
		}


		if (0 != (val & (MDIO_START | MDIO_BUSY))) {
		if (0 != (val & (MDIO_START | MDIO_BUSY))) {
			dev_err(&pdev->dev,
			netdev_err(adapter->netdev,
				   "pcie linkdown at least for 25ms\n");
				   "pcie linkdown at least for 25ms\n");
			return ret_val;
			return ret_val;
		}
		}


		dev_err(&pdev->dev, "pcie linkup after %d ms\n", i);
		netdev_err(adapter->netdev, "pcie linkup after %d ms\n", i);
	}
	}
	return 0;
	return 0;
}
}
@@ -428,7 +427,6 @@ int atl1e_phy_commit(struct atl1e_hw *hw)
int atl1e_phy_init(struct atl1e_hw *hw)
int atl1e_phy_init(struct atl1e_hw *hw)
{
{
	struct atl1e_adapter *adapter = hw->adapter;
	struct atl1e_adapter *adapter = hw->adapter;
	struct pci_dev *pdev = adapter->pdev;
	s32 ret_val;
	s32 ret_val;
	u16 phy_val;
	u16 phy_val;


@@ -492,20 +490,22 @@ int atl1e_phy_init(struct atl1e_hw *hw)
	/*Enable PHY LinkChange Interrupt */
	/*Enable PHY LinkChange Interrupt */
	ret_val = atl1e_write_phy_reg(hw, MII_INT_CTRL, 0xC00);
	ret_val = atl1e_write_phy_reg(hw, MII_INT_CTRL, 0xC00);
	if (ret_val) {
	if (ret_val) {
		dev_err(&pdev->dev, "Error enable PHY linkChange Interrupt\n");
		netdev_err(adapter->netdev,
			   "Error enable PHY linkChange Interrupt\n");
		return ret_val;
		return ret_val;
	}
	}
	/* setup AutoNeg parameters */
	/* setup AutoNeg parameters */
	ret_val = atl1e_phy_setup_autoneg_adv(hw);
	ret_val = atl1e_phy_setup_autoneg_adv(hw);
	if (ret_val) {
	if (ret_val) {
		dev_err(&pdev->dev, "Error Setting up Auto-Negotiation\n");
		netdev_err(adapter->netdev,
			   "Error Setting up Auto-Negotiation\n");
		return ret_val;
		return ret_val;
	}
	}
	/* SW.Reset & En-Auto-Neg to restart Auto-Neg*/
	/* SW.Reset & En-Auto-Neg to restart Auto-Neg*/
	dev_dbg(&pdev->dev, "Restarting Auto-Neg");
	netdev_dbg(adapter->netdev, "Restarting Auto-Negotiation\n");
	ret_val = atl1e_phy_commit(hw);
	ret_val = atl1e_phy_commit(hw);
	if (ret_val) {
	if (ret_val) {
		dev_err(&pdev->dev, "Error Resetting the phy");
		netdev_err(adapter->netdev, "Error resetting the phy\n");
		return ret_val;
		return ret_val;
	}
	}


@@ -559,9 +559,8 @@ int atl1e_reset_hw(struct atl1e_hw *hw)
	}
	}


	if (timeout >= AT_HW_MAX_IDLE_DELAY) {
	if (timeout >= AT_HW_MAX_IDLE_DELAY) {
		dev_err(&pdev->dev,
		netdev_err(adapter->netdev,
			"MAC state machine cann't be idle since"
			   "MAC state machine can't be idle since disabled for 10ms second\n");
			" disabled for 10ms second\n");
		return AT_ERR_TIMEOUT;
		return AT_ERR_TIMEOUT;
	}
	}


+68 −85
Original line number Original line Diff line number Diff line
@@ -164,11 +164,10 @@ static int atl1e_check_link(struct atl1e_adapter *adapter)
{
{
	struct atl1e_hw *hw = &adapter->hw;
	struct atl1e_hw *hw = &adapter->hw;
	struct net_device *netdev = adapter->netdev;
	struct net_device *netdev = adapter->netdev;
	struct pci_dev    *pdev   = adapter->pdev;
	int err = 0;
	int err = 0;
	u16 speed, duplex, phy_data;
	u16 speed, duplex, phy_data;


	/* MII_BMSR must read twise */
	/* MII_BMSR must read twice */
	atl1e_read_phy_reg(hw, MII_BMSR, &phy_data);
	atl1e_read_phy_reg(hw, MII_BMSR, &phy_data);
	atl1e_read_phy_reg(hw, MII_BMSR, &phy_data);
	atl1e_read_phy_reg(hw, MII_BMSR, &phy_data);
	if ((phy_data & BMSR_LSTATUS) == 0) {
	if ((phy_data & BMSR_LSTATUS) == 0) {
@@ -195,12 +194,11 @@ static int atl1e_check_link(struct atl1e_adapter *adapter)
			adapter->link_speed  = speed;
			adapter->link_speed  = speed;
			adapter->link_duplex = duplex;
			adapter->link_duplex = duplex;
			atl1e_setup_mac_ctrl(adapter);
			atl1e_setup_mac_ctrl(adapter);
			dev_info(&pdev->dev,
			netdev_info(netdev,
				"%s: %s NIC Link is Up<%d Mbps %s>\n",
				    "NIC Link is Up <%d Mbps %s Duplex>\n",
				atl1e_driver_name, netdev->name,
				    adapter->link_speed,
				    adapter->link_speed,
				    adapter->link_duplex == FULL_DUPLEX ?
				    adapter->link_duplex == FULL_DUPLEX ?
				"Full Duplex" : "Half Duplex");
				    "Full" : "Half");
		}
		}


		if (!netif_carrier_ok(netdev)) {
		if (!netif_carrier_ok(netdev)) {
@@ -230,7 +228,6 @@ static void atl1e_link_chg_task(struct work_struct *work)
static void atl1e_link_chg_event(struct atl1e_adapter *adapter)
static void atl1e_link_chg_event(struct atl1e_adapter *adapter)
{
{
	struct net_device *netdev = adapter->netdev;
	struct net_device *netdev = adapter->netdev;
	struct pci_dev    *pdev   = adapter->pdev;
	u16 phy_data = 0;
	u16 phy_data = 0;
	u16 link_up = 0;
	u16 link_up = 0;


@@ -243,8 +240,7 @@ static void atl1e_link_chg_event(struct atl1e_adapter *adapter)
	if (!link_up) {
	if (!link_up) {
		if (netif_carrier_ok(netdev)) {
		if (netif_carrier_ok(netdev)) {
			/* old link state: Up */
			/* old link state: Up */
			dev_info(&pdev->dev, "%s: %s NIC Link is Down\n",
			netdev_info(netdev, "NIC Link is Down\n");
					atl1e_driver_name, netdev->name);
			adapter->link_speed = SPEED_0;
			adapter->link_speed = SPEED_0;
			netif_stop_queue(netdev);
			netif_stop_queue(netdev);
		}
		}
@@ -321,10 +317,9 @@ static void atl1e_vlan_rx_register(struct net_device *netdev,
				   struct vlan_group *grp)
				   struct vlan_group *grp)
{
{
	struct atl1e_adapter *adapter = netdev_priv(netdev);
	struct atl1e_adapter *adapter = netdev_priv(netdev);
	struct pci_dev *pdev = adapter->pdev;
	u32 mac_ctrl_data = 0;
	u32 mac_ctrl_data = 0;


	dev_dbg(&pdev->dev, "atl1e_vlan_rx_register\n");
	netdev_dbg(adapter->netdev, "%s\n", __func__);


	atl1e_irq_disable(adapter);
	atl1e_irq_disable(adapter);


@@ -345,9 +340,7 @@ static void atl1e_vlan_rx_register(struct net_device *netdev,


static void atl1e_restore_vlan(struct atl1e_adapter *adapter)
static void atl1e_restore_vlan(struct atl1e_adapter *adapter)
{
{
	struct pci_dev *pdev = adapter->pdev;
	netdev_dbg(adapter->netdev, "%s\n", __func__);

	dev_dbg(&pdev->dev, "atl1e_restore_vlan !");
	atl1e_vlan_rx_register(adapter->netdev, adapter->vlgrp);
	atl1e_vlan_rx_register(adapter->netdev, adapter->vlgrp);
}
}
/*
/*
@@ -391,7 +384,7 @@ static int atl1e_change_mtu(struct net_device *netdev, int new_mtu)


	if ((max_frame < ETH_ZLEN + ETH_FCS_LEN) ||
	if ((max_frame < ETH_ZLEN + ETH_FCS_LEN) ||
			(max_frame > MAX_JUMBO_FRAME_SIZE)) {
			(max_frame > MAX_JUMBO_FRAME_SIZE)) {
		dev_warn(&adapter->pdev->dev, "invalid MTU setting\n");
		netdev_warn(adapter->netdev, "invalid MTU setting\n");
		return -EINVAL;
		return -EINVAL;
	}
	}
	/* set MTU */
	/* set MTU */
@@ -438,7 +431,6 @@ static int atl1e_mii_ioctl(struct net_device *netdev,
			   struct ifreq *ifr, int cmd)
			   struct ifreq *ifr, int cmd)
{
{
	struct atl1e_adapter *adapter = netdev_priv(netdev);
	struct atl1e_adapter *adapter = netdev_priv(netdev);
	struct pci_dev *pdev = adapter->pdev;
	struct mii_ioctl_data *data = if_mii(ifr);
	struct mii_ioctl_data *data = if_mii(ifr);
	unsigned long flags;
	unsigned long flags;
	int retval = 0;
	int retval = 0;
@@ -466,7 +458,7 @@ static int atl1e_mii_ioctl(struct net_device *netdev,
			goto out;
			goto out;
		}
		}


		dev_dbg(&pdev->dev, "<atl1e_mii_ioctl> write %x %x",
		netdev_dbg(adapter->netdev, "<atl1e_mii_ioctl> write %x %x\n",
			   data->reg_num, data->val_in);
			   data->reg_num, data->val_in);
		if (atl1e_write_phy_reg(&adapter->hw,
		if (atl1e_write_phy_reg(&adapter->hw,
				     data->reg_num, data->val_in)) {
				     data->reg_num, data->val_in)) {
@@ -602,7 +594,7 @@ static int __devinit atl1e_sw_init(struct atl1e_adapter *adapter)
	hw->dmaw_dly_cnt = 4;
	hw->dmaw_dly_cnt = 4;


	if (atl1e_alloc_queues(adapter)) {
	if (atl1e_alloc_queues(adapter)) {
		dev_err(&pdev->dev, "Unable to allocate memory for queues\n");
		netdev_err(adapter->netdev, "Unable to allocate memory for queues\n");
		return -ENOMEM;
		return -ENOMEM;
	}
	}


@@ -800,8 +792,8 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
			adapter->ring_size, &adapter->ring_dma);
			adapter->ring_size, &adapter->ring_dma);


	if (adapter->ring_vir_addr == NULL) {
	if (adapter->ring_vir_addr == NULL) {
		dev_err(&pdev->dev, "pci_alloc_consistent failed, "
		netdev_err(adapter->netdev,
				    "size = D%d", size);
			   "pci_alloc_consistent failed, size = D%d\n", size);
		return -ENOMEM;
		return -ENOMEM;
	}
	}


@@ -817,7 +809,8 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
	size = sizeof(struct atl1e_tx_buffer) * (tx_ring->count);
	size = sizeof(struct atl1e_tx_buffer) * (tx_ring->count);
	tx_ring->tx_buffer = kzalloc(size, GFP_KERNEL);
	tx_ring->tx_buffer = kzalloc(size, GFP_KERNEL);
	if (tx_ring->tx_buffer == NULL) {
	if (tx_ring->tx_buffer == NULL) {
		dev_err(&pdev->dev, "kzalloc failed , size = D%d", size);
		netdev_err(adapter->netdev, "kzalloc failed, size = D%d\n",
			   size);
		err = -ENOMEM;
		err = -ENOMEM;
		goto failed;
		goto failed;
	}
	}
@@ -852,7 +845,7 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
	}
	}


	if (unlikely(offset > adapter->ring_size)) {
	if (unlikely(offset > adapter->ring_size)) {
		dev_err(&pdev->dev, "offset(%d) > ring size(%d) !!\n",
		netdev_err(adapter->netdev, "offset(%d) > ring size(%d) !!\n",
			   offset, adapter->ring_size);
			   offset, adapter->ring_size);
		err = -1;
		err = -1;
		goto failed;
		goto failed;
@@ -1077,7 +1070,6 @@ static void atl1e_setup_mac_ctrl(struct atl1e_adapter *adapter)
static int atl1e_configure(struct atl1e_adapter *adapter)
static int atl1e_configure(struct atl1e_adapter *adapter)
{
{
	struct atl1e_hw *hw = &adapter->hw;
	struct atl1e_hw *hw = &adapter->hw;
	struct pci_dev *pdev = adapter->pdev;


	u32 intr_status_data = 0;
	u32 intr_status_data = 0;


@@ -1130,8 +1122,8 @@ static int atl1e_configure(struct atl1e_adapter *adapter)


	intr_status_data = AT_READ_REG(hw, REG_ISR);
	intr_status_data = AT_READ_REG(hw, REG_ISR);
	if (unlikely((intr_status_data & ISR_PHY_LINKDOWN) != 0)) {
	if (unlikely((intr_status_data & ISR_PHY_LINKDOWN) != 0)) {
		dev_err(&pdev->dev, "atl1e_configure failed,"
		netdev_err(adapter->netdev,
				"PCIE phy link down\n");
			   "atl1e_configure failed, PCIE phy link down\n");
		return -1;
		return -1;
	}
	}


@@ -1262,7 +1254,6 @@ static irqreturn_t atl1e_intr(int irq, void *data)
{
{
	struct net_device *netdev  = data;
	struct net_device *netdev  = data;
	struct atl1e_adapter *adapter = netdev_priv(netdev);
	struct atl1e_adapter *adapter = netdev_priv(netdev);
	struct pci_dev *pdev = adapter->pdev;
	struct atl1e_hw *hw = &adapter->hw;
	struct atl1e_hw *hw = &adapter->hw;
	int max_ints = AT_MAX_INT_WORK;
	int max_ints = AT_MAX_INT_WORK;
	int handled = IRQ_NONE;
	int handled = IRQ_NONE;
@@ -1285,7 +1276,7 @@ static irqreturn_t atl1e_intr(int irq, void *data)
		handled = IRQ_HANDLED;
		handled = IRQ_HANDLED;
		/* check if PCIE PHY Link down */
		/* check if PCIE PHY Link down */
		if (status & ISR_PHY_LINKDOWN) {
		if (status & ISR_PHY_LINKDOWN) {
			dev_err(&pdev->dev,
			netdev_err(adapter->netdev,
				   "pcie phy linkdown %x\n", status);
				   "pcie phy linkdown %x\n", status);
			if (netif_running(adapter->netdev)) {
			if (netif_running(adapter->netdev)) {
				/* reset MAC */
				/* reset MAC */
@@ -1297,7 +1288,7 @@ static irqreturn_t atl1e_intr(int irq, void *data)


		/* check if DMA read/write error */
		/* check if DMA read/write error */
		if (status & (ISR_DMAR_TO_RST | ISR_DMAW_TO_RST)) {
		if (status & (ISR_DMAR_TO_RST | ISR_DMAW_TO_RST)) {
			dev_err(&pdev->dev,
			netdev_err(adapter->netdev,
				   "PCIE DMA RW error (status = 0x%x)\n",
				   "PCIE DMA RW error (status = 0x%x)\n",
				   status);
				   status);
			atl1e_irq_reset(adapter);
			atl1e_irq_reset(adapter);
@@ -1382,7 +1373,6 @@ static struct atl1e_rx_page *atl1e_get_rx_page(struct atl1e_adapter *adapter,
static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
		   int *work_done, int work_to_do)
		   int *work_done, int work_to_do)
{
{
	struct pci_dev *pdev = adapter->pdev;
	struct net_device *netdev  = adapter->netdev;
	struct net_device *netdev  = adapter->netdev;
	struct atl1e_rx_ring *rx_ring = (struct atl1e_rx_ring *)
	struct atl1e_rx_ring *rx_ring = (struct atl1e_rx_ring *)
					 &adapter->rx_ring;
					 &adapter->rx_ring;
@@ -1404,9 +1394,8 @@ static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
						 rx_page->read_offset);
						 rx_page->read_offset);
			/* check sequence number */
			/* check sequence number */
			if (prrs->seq_num != rx_page_desc[que].rx_nxseq) {
			if (prrs->seq_num != rx_page_desc[que].rx_nxseq) {
				dev_err(&pdev->dev,
				netdev_err(netdev,
					"rx sequence number"
					   "rx sequence number error (rx=%d) (expect=%d)\n",
					" error (rx=%d) (expect=%d)\n",
					   prrs->seq_num,
					   prrs->seq_num,
					   rx_page_desc[que].rx_nxseq);
					   rx_page_desc[que].rx_nxseq);
				rx_page_desc[que].rx_nxseq++;
				rx_page_desc[que].rx_nxseq++;
@@ -1424,7 +1413,7 @@ static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
					RRS_ERR_DRIBBLE | RRS_ERR_CODE |
					RRS_ERR_DRIBBLE | RRS_ERR_CODE |
					RRS_ERR_TRUNC)) {
					RRS_ERR_TRUNC)) {
				/* hardware error, discard this packet*/
				/* hardware error, discard this packet*/
					dev_err(&pdev->dev,
					netdev_err(netdev,
						   "rx packet desc error %x\n",
						   "rx packet desc error %x\n",
						   *((u32 *)prrs + 1));
						   *((u32 *)prrs + 1));
					goto skip_pkt;
					goto skip_pkt;
@@ -1435,8 +1424,8 @@ static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
					RRS_PKT_SIZE_MASK) - 4; /* CRC */
					RRS_PKT_SIZE_MASK) - 4; /* CRC */
			skb = netdev_alloc_skb_ip_align(netdev, packet_size);
			skb = netdev_alloc_skb_ip_align(netdev, packet_size);
			if (skb == NULL) {
			if (skb == NULL) {
				dev_warn(&pdev->dev, "%s: Memory squeeze,"
				netdev_warn(netdev,
					"deferring packet.\n", netdev->name);
					    "Memory squeeze, deferring packet\n");
				goto skip_pkt;
				goto skip_pkt;
			}
			}
			skb->dev = netdev;
			skb->dev = netdev;
@@ -1450,7 +1439,7 @@ static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
				u16 vlan_tag = (prrs->vtag >> 4) |
				u16 vlan_tag = (prrs->vtag >> 4) |
					       ((prrs->vtag & 7) << 13) |
					       ((prrs->vtag & 7) << 13) |
					       ((prrs->vtag & 8) << 9);
					       ((prrs->vtag & 8) << 9);
				dev_dbg(&pdev->dev,
				netdev_dbg(netdev,
					   "RXD VLAN TAG<RRD>=0x%04x\n",
					   "RXD VLAN TAG<RRD>=0x%04x\n",
					   prrs->vtag);
					   prrs->vtag);
				vlan_hwaccel_receive_skb(skb, adapter->vlgrp,
				vlan_hwaccel_receive_skb(skb, adapter->vlgrp,
@@ -1500,7 +1489,6 @@ static int atl1e_clean(struct napi_struct *napi, int budget)
{
{
	struct atl1e_adapter *adapter =
	struct atl1e_adapter *adapter =
			container_of(napi, struct atl1e_adapter, napi);
			container_of(napi, struct atl1e_adapter, napi);
	struct pci_dev    *pdev    = adapter->pdev;
	u32 imr_data;
	u32 imr_data;
	int work_done = 0;
	int work_done = 0;


@@ -1519,7 +1507,7 @@ static int atl1e_clean(struct napi_struct *napi, int budget)
		/* test debug */
		/* test debug */
		if (test_bit(__AT_DOWN, &adapter->flags)) {
		if (test_bit(__AT_DOWN, &adapter->flags)) {
			atomic_dec(&adapter->irq_sem);
			atomic_dec(&adapter->irq_sem);
			dev_err(&pdev->dev,
			netdev_err(adapter->netdev,
				   "atl1e_clean is called when AT_DOWN\n");
				   "atl1e_clean is called when AT_DOWN\n");
		}
		}
		/* reenable RX intr */
		/* reenable RX intr */
@@ -1618,7 +1606,6 @@ static u16 atl1e_cal_tdp_req(const struct sk_buff *skb)
static int atl1e_tso_csum(struct atl1e_adapter *adapter,
static int atl1e_tso_csum(struct atl1e_adapter *adapter,
		       struct sk_buff *skb, struct atl1e_tpd_desc *tpd)
		       struct sk_buff *skb, struct atl1e_tpd_desc *tpd)
{
{
	struct pci_dev *pdev = adapter->pdev;
	u8 hdr_len;
	u8 hdr_len;
	u32 real_len;
	u32 real_len;
	unsigned short offload_type;
	unsigned short offload_type;
@@ -1642,7 +1629,7 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,
			hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
			hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
			if (unlikely(skb->len == hdr_len)) {
			if (unlikely(skb->len == hdr_len)) {
				/* only xsum need */
				/* only xsum need */
				dev_warn(&pdev->dev,
				netdev_warn(adapter->netdev,
					    "IPV4 tso with zero data??\n");
					    "IPV4 tso with zero data??\n");
				goto check_sum;
				goto check_sum;
			} else {
			} else {
@@ -1672,7 +1659,7 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,


		cso = skb_transport_offset(skb);
		cso = skb_transport_offset(skb);
		if (unlikely(cso & 0x1)) {
		if (unlikely(cso & 0x1)) {
			dev_err(&adapter->pdev->dev,
			netdev_err(adapter->netdev,
				   "payload offset should not ant event number\n");
				   "payload offset should not ant event number\n");
			return -1;
			return -1;
		} else {
		} else {
@@ -1886,7 +1873,7 @@ static int atl1e_request_irq(struct atl1e_adapter *adapter)
	adapter->have_msi = true;
	adapter->have_msi = true;
	err = pci_enable_msi(adapter->pdev);
	err = pci_enable_msi(adapter->pdev);
	if (err) {
	if (err) {
		dev_dbg(&pdev->dev,
		netdev_dbg(adapter->netdev,
			   "Unable to allocate MSI interrupt Error: %d\n", err);
			   "Unable to allocate MSI interrupt Error: %d\n", err);
		adapter->have_msi = false;
		adapter->have_msi = false;
	} else
	} else
@@ -1898,13 +1885,13 @@ static int atl1e_request_irq(struct atl1e_adapter *adapter)
	err = request_irq(adapter->pdev->irq, atl1e_intr, flags,
	err = request_irq(adapter->pdev->irq, atl1e_intr, flags,
			netdev->name, netdev);
			netdev->name, netdev);
	if (err) {
	if (err) {
		dev_dbg(&pdev->dev,
		netdev_dbg(adapter->netdev,
			   "Unable to allocate interrupt Error: %d\n", err);
			   "Unable to allocate interrupt Error: %d\n", err);
		if (adapter->have_msi)
		if (adapter->have_msi)
			pci_disable_msi(adapter->pdev);
			pci_disable_msi(adapter->pdev);
		return err;
		return err;
	}
	}
	dev_dbg(&pdev->dev, "atl1e_request_irq OK\n");
	netdev_dbg(adapter->netdev, "atl1e_request_irq OK\n");
	return err;
	return err;
}
}


@@ -2078,7 +2065,7 @@ static int atl1e_suspend(struct pci_dev *pdev, pm_message_t state)
		    (atl1e_write_phy_reg(hw,
		    (atl1e_write_phy_reg(hw,
			   MII_ADVERTISE, mii_advertise_data) != 0) ||
			   MII_ADVERTISE, mii_advertise_data) != 0) ||
		    (atl1e_phy_commit(hw)) != 0) {
		    (atl1e_phy_commit(hw)) != 0) {
			dev_dbg(&pdev->dev, "set phy register failed\n");
			netdev_dbg(adapter->netdev, "set phy register failed\n");
			goto wol_dis;
			goto wol_dis;
		}
		}


@@ -2100,17 +2087,14 @@ static int atl1e_suspend(struct pci_dev *pdev, pm_message_t state)
				}
				}


				if ((mii_bmsr_data & BMSR_LSTATUS) == 0)
				if ((mii_bmsr_data & BMSR_LSTATUS) == 0)
					dev_dbg(&pdev->dev,
					netdev_dbg(adapter->netdev,
						"%s: Link may change"
						   "Link may change when suspend\n");
						"when suspend\n",
						atl1e_driver_name);
			}
			}
			wol_ctrl_data |=  WOL_LINK_CHG_EN | WOL_LINK_CHG_PME_EN;
			wol_ctrl_data |=  WOL_LINK_CHG_EN | WOL_LINK_CHG_PME_EN;
			/* only link up can wake up */
			/* only link up can wake up */
			if (atl1e_write_phy_reg(hw, MII_INT_CTRL, 0x400) != 0) {
			if (atl1e_write_phy_reg(hw, MII_INT_CTRL, 0x400) != 0) {
				dev_dbg(&pdev->dev, "%s: read write phy "
				netdev_dbg(adapter->netdev,
						  "register failed.\n",
					   "read write phy register failed\n");
						  atl1e_driver_name);
				goto wol_dis;
				goto wol_dis;
			}
			}
		}
		}
@@ -2131,9 +2115,8 @@ static int atl1e_suspend(struct pci_dev *pdev, pm_message_t state)
		if (wufc & AT_WUFC_MAG)
		if (wufc & AT_WUFC_MAG)
			mac_ctrl_data |= MAC_CTRL_BC_EN;
			mac_ctrl_data |= MAC_CTRL_BC_EN;


		dev_dbg(&pdev->dev,
		netdev_dbg(adapter->netdev, "suspend MAC=0x%x\n",
			"%s: suspend MAC=0x%x\n",
			   mac_ctrl_data);
			atl1e_driver_name, mac_ctrl_data);


		AT_WRITE_REG(hw, REG_WOL_CTRL, wol_ctrl_data);
		AT_WRITE_REG(hw, REG_WOL_CTRL, wol_ctrl_data);
		AT_WRITE_REG(hw, REG_MAC_CTRL, mac_ctrl_data);
		AT_WRITE_REG(hw, REG_MAC_CTRL, mac_ctrl_data);
@@ -2183,8 +2166,8 @@ static int atl1e_resume(struct pci_dev *pdev)


	err = pci_enable_device(pdev);
	err = pci_enable_device(pdev);
	if (err) {
	if (err) {
		dev_err(&pdev->dev, "ATL1e: Cannot enable PCI"
		netdev_err(adapter->netdev,
				" device from suspend\n");
			   "Cannot enable PCI device from suspend\n");
		return err;
		return err;
	}
	}


@@ -2315,7 +2298,7 @@ static int __devinit atl1e_probe(struct pci_dev *pdev,


	err = atl1e_init_netdev(netdev, pdev);
	err = atl1e_init_netdev(netdev, pdev);
	if (err) {
	if (err) {
		dev_err(&pdev->dev, "init netdevice failed\n");
		netdev_err(netdev, "init netdevice failed\n");
		goto err_init_netdev;
		goto err_init_netdev;
	}
	}
	adapter = netdev_priv(netdev);
	adapter = netdev_priv(netdev);
@@ -2326,7 +2309,7 @@ static int __devinit atl1e_probe(struct pci_dev *pdev,
	adapter->hw.hw_addr = pci_iomap(pdev, BAR_0, 0);
	adapter->hw.hw_addr = pci_iomap(pdev, BAR_0, 0);
	if (!adapter->hw.hw_addr) {
	if (!adapter->hw.hw_addr) {
		err = -EIO;
		err = -EIO;
		dev_err(&pdev->dev, "cannot map device registers\n");
		netdev_err(netdev, "cannot map device registers\n");
		goto err_ioremap;
		goto err_ioremap;
	}
	}
	netdev->base_addr = (unsigned long)adapter->hw.hw_addr;
	netdev->base_addr = (unsigned long)adapter->hw.hw_addr;
@@ -2356,7 +2339,7 @@ static int __devinit atl1e_probe(struct pci_dev *pdev,
	/* setup the private structure */
	/* setup the private structure */
	err = atl1e_sw_init(adapter);
	err = atl1e_sw_init(adapter);
	if (err) {
	if (err) {
		dev_err(&pdev->dev, "net device private data init failed\n");
		netdev_err(netdev, "net device private data init failed\n");
		goto err_sw_init;
		goto err_sw_init;
	}
	}


@@ -2372,19 +2355,19 @@ static int __devinit atl1e_probe(struct pci_dev *pdev,


	if (atl1e_read_mac_addr(&adapter->hw) != 0) {
	if (atl1e_read_mac_addr(&adapter->hw) != 0) {
		err = -EIO;
		err = -EIO;
		dev_err(&pdev->dev, "get mac address failed\n");
		netdev_err(netdev, "get mac address failed\n");
		goto err_eeprom;
		goto err_eeprom;
	}
	}


	memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len);
	memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len);
	memcpy(netdev->perm_addr, adapter->hw.mac_addr, netdev->addr_len);
	memcpy(netdev->perm_addr, adapter->hw.mac_addr, netdev->addr_len);
	dev_dbg(&pdev->dev, "mac address : %pM\n", adapter->hw.mac_addr);
	netdev_dbg(netdev, "mac address : %pM\n", adapter->hw.mac_addr);


	INIT_WORK(&adapter->reset_task, atl1e_reset_task);
	INIT_WORK(&adapter->reset_task, atl1e_reset_task);
	INIT_WORK(&adapter->link_chg_task, atl1e_link_chg_task);
	INIT_WORK(&adapter->link_chg_task, atl1e_link_chg_task);
	err = register_netdev(netdev);
	err = register_netdev(netdev);
	if (err) {
	if (err) {
		dev_err(&pdev->dev, "register netdevice failed\n");
		netdev_err(netdev, "register netdevice failed\n");
		goto err_register;
		goto err_register;
	}
	}


@@ -2485,8 +2468,8 @@ static pci_ers_result_t atl1e_io_slot_reset(struct pci_dev *pdev)
	struct atl1e_adapter *adapter = netdev_priv(netdev);
	struct atl1e_adapter *adapter = netdev_priv(netdev);


	if (pci_enable_device(pdev)) {
	if (pci_enable_device(pdev)) {
		dev_err(&pdev->dev,
		netdev_err(adapter->netdev,
		       "ATL1e: Cannot re-enable PCI device after reset.\n");
			   "Cannot re-enable PCI device after reset\n");
		return PCI_ERS_RESULT_DISCONNECT;
		return PCI_ERS_RESULT_DISCONNECT;
	}
	}
	pci_set_master(pdev);
	pci_set_master(pdev);
@@ -2514,8 +2497,8 @@ static void atl1e_io_resume(struct pci_dev *pdev)


	if (netif_running(netdev)) {
	if (netif_running(netdev)) {
		if (atl1e_up(adapter)) {
		if (atl1e_up(adapter)) {
			dev_err(&pdev->dev,
			netdev_err(adapter->netdev,
			  "ATL1e: can't bring device back up after reset\n");
				   "can't bring device back up after reset\n");
			return;
			return;
		}
		}
	}
	}
+20 −15
Original line number Original line Diff line number Diff line
@@ -116,7 +116,7 @@ struct atl1e_option {
	} arg;
	} arg;
};
};


static int __devinit atl1e_validate_option(int *value, struct atl1e_option *opt, struct pci_dev *pdev)
static int __devinit atl1e_validate_option(int *value, struct atl1e_option *opt, struct atl1e_adapter *adapter)
{
{
	if (*value == OPTION_UNSET) {
	if (*value == OPTION_UNSET) {
		*value = opt->def;
		*value = opt->def;
@@ -127,16 +127,19 @@ static int __devinit atl1e_validate_option(int *value, struct atl1e_option *opt,
	case enable_option:
	case enable_option:
		switch (*value) {
		switch (*value) {
		case OPTION_ENABLED:
		case OPTION_ENABLED:
			dev_info(&pdev->dev, "%s Enabled\n", opt->name);
			netdev_info(adapter->netdev,
				    "%s Enabled\n", opt->name);
			return 0;
			return 0;
		case OPTION_DISABLED:
		case OPTION_DISABLED:
			dev_info(&pdev->dev, "%s Disabled\n", opt->name);
			netdev_info(adapter->netdev,
				    "%s Disabled\n", opt->name);
			return 0;
			return 0;
		}
		}
		break;
		break;
	case range_option:
	case range_option:
		if (*value >= opt->arg.r.min && *value <= opt->arg.r.max) {
		if (*value >= opt->arg.r.min && *value <= opt->arg.r.max) {
			dev_info(&pdev->dev, "%s set to %i\n", opt->name, *value);
			netdev_info(adapter->netdev, "%s set to %i\n",
				    opt->name, *value);
			return 0;
			return 0;
		}
		}
		break;
		break;
@@ -148,8 +151,8 @@ static int __devinit atl1e_validate_option(int *value, struct atl1e_option *opt,
				ent = &opt->arg.l.p[i];
				ent = &opt->arg.l.p[i];
				if (*value == ent->i) {
				if (*value == ent->i) {
					if (ent->str[0] != '\0')
					if (ent->str[0] != '\0')
						dev_info(&pdev->dev, "%s\n",
						netdev_info(adapter->netdev,
							ent->str);
							    "%s\n", ent->str);
					return 0;
					return 0;
				}
				}
			}
			}
@@ -159,7 +162,7 @@ static int __devinit atl1e_validate_option(int *value, struct atl1e_option *opt,
		BUG();
		BUG();
	}
	}


	dev_info(&pdev->dev, "Invalid %s specified (%i) %s\n",
	netdev_info(adapter->netdev, "Invalid %s specified (%i) %s\n",
		    opt->name, *value, opt->err);
		    opt->name, *value, opt->err);
	*value = opt->def;
	*value = opt->def;
	return -1;
	return -1;
@@ -176,11 +179,13 @@ static int __devinit atl1e_validate_option(int *value, struct atl1e_option *opt,
 */
 */
void __devinit atl1e_check_options(struct atl1e_adapter *adapter)
void __devinit atl1e_check_options(struct atl1e_adapter *adapter)
{
{
	struct pci_dev *pdev = adapter->pdev;
	int bd = adapter->bd_number;
	int bd = adapter->bd_number;

	if (bd >= ATL1E_MAX_NIC) {
	if (bd >= ATL1E_MAX_NIC) {
		dev_notice(&pdev->dev, "no configuration for board #%i\n", bd);
		netdev_notice(adapter->netdev,
		dev_notice(&pdev->dev, "Using defaults for all values\n");
			      "no configuration for board #%i\n", bd);
		netdev_notice(adapter->netdev,
			      "Using defaults for all values\n");
	}
	}


	{ 		/* Transmit Ring Size */
	{ 		/* Transmit Ring Size */
@@ -196,7 +201,7 @@ void __devinit atl1e_check_options(struct atl1e_adapter *adapter)
		int val;
		int val;
		if (num_tx_desc_cnt > bd) {
		if (num_tx_desc_cnt > bd) {
			val = tx_desc_cnt[bd];
			val = tx_desc_cnt[bd];
			atl1e_validate_option(&val, &opt, pdev);
			atl1e_validate_option(&val, &opt, adapter);
			adapter->tx_ring.count = (u16) val & 0xFFFC;
			adapter->tx_ring.count = (u16) val & 0xFFFC;
		} else
		} else
			adapter->tx_ring.count = (u16)opt.def;
			adapter->tx_ring.count = (u16)opt.def;
@@ -215,7 +220,7 @@ void __devinit atl1e_check_options(struct atl1e_adapter *adapter)
		int val;
		int val;
		if (num_rx_mem_size > bd) {
		if (num_rx_mem_size > bd) {
			val = rx_mem_size[bd];
			val = rx_mem_size[bd];
			atl1e_validate_option(&val, &opt, pdev);
			atl1e_validate_option(&val, &opt, adapter);
			adapter->rx_ring.page_size = (u32)val * 1024;
			adapter->rx_ring.page_size = (u32)val * 1024;
		} else {
		} else {
			adapter->rx_ring.page_size = (u32)opt.def * 1024;
			adapter->rx_ring.page_size = (u32)opt.def * 1024;
@@ -235,7 +240,7 @@ void __devinit atl1e_check_options(struct atl1e_adapter *adapter)
		int val;
		int val;
		if (num_int_mod_timer > bd) {
		if (num_int_mod_timer > bd) {
			val = int_mod_timer[bd];
			val = int_mod_timer[bd];
			atl1e_validate_option(&val, &opt, pdev);
			atl1e_validate_option(&val, &opt, adapter);
			adapter->hw.imt = (u16) val;
			adapter->hw.imt = (u16) val;
		} else
		} else
			adapter->hw.imt = (u16)(opt.def);
			adapter->hw.imt = (u16)(opt.def);
@@ -254,7 +259,7 @@ void __devinit atl1e_check_options(struct atl1e_adapter *adapter)
		int val;
		int val;
		if (num_media_type > bd) {
		if (num_media_type > bd) {
			val = media_type[bd];
			val = media_type[bd];
			atl1e_validate_option(&val, &opt, pdev);
			atl1e_validate_option(&val, &opt, adapter);
			adapter->hw.media_type = (u16) val;
			adapter->hw.media_type = (u16) val;
		} else
		} else
			adapter->hw.media_type = (u16)(opt.def);
			adapter->hw.media_type = (u16)(opt.def);