lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 29 Mar 2007 17:03:24 -0700
From:	"Kok, Auke" <auke-jan.h.kok@...el.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
CC:	jesse.brandeburg@...el.com, john.ronciak@...el.com,
	arjan@...ux.intel.com, netdev@...r.kernel.org, jgarzik@...ox.com
Subject: Re: [-MM GIT PULL] e1000: fixes, API rewrite, cleanups

Andrew Morton wrote:
> On Thu Mar 29 15:50:55 PDT 2007
> Auke Kok <auke-jan.h.kok@...el.com> wrote:
> 
>> Please consider pulling from my git tree:
>>     git-pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 mm
>>
>> To get a copy of my current e1000 queue. This tree consists of a recent
>> 'master' branch from linus, and the following patches:
>>
>> 1) 3 patches from jgarzik's e1000-fixes tree
>> 2) 3 patches from jgarzik's upstream branch
>> 3) the hardware initialization API rewrite (as a single commit) patch
>>      posted on netdev yesterday
>> 4) 15 other fixes and cleanups currently in my e1000 queue
> 
> OK.  I got quite a lot of git carnage when generating the git-netdev-all
> versus git-e1000 diff.  But as long as things don't change too much we
> should be OK.
> 
> What I do when this happens is to manually create a remove-the-git-rejects
> patch.  Hope I got it right..
> 
> Davem's tree diddles e1000_main.c as well, so whoever merges second has
> a little bit of rework to do.
> 
> The current davem diff is 2.2MB, touching 852 files.  Nobody breathe...


it looks about right. I'll try to verify tomorrow that it is OK.

Thanks,

Auke


> 
> 
> 
>  drivers/net/e1000/e1000_ethtool.c |    5 -
>  drivers/net/e1000/e1000_main.c    |   91 ----------------------------
>  2 files changed, 96 deletions(-)
> 
> diff -puN drivers/net/e1000/e1000_ethtool.c~git-e1000-fixup drivers/net/e1000/e1000_ethtool.c
> --- a/drivers/net/e1000/e1000_ethtool.c~git-e1000-fixup
> +++ a/drivers/net/e1000/e1000_ethtool.c
> @@ -1046,13 +1046,8 @@ e1000_setup_desc_rings(struct e1000_adap
>  	struct e1000_tx_ring *txdr = &adapter->test_tx_ring;
>  	struct e1000_rx_ring *rxdr = &adapter->test_rx_ring;
>  	struct pci_dev *pdev = adapter->pdev;
> -<<<<<<< HEAD/drivers/net/e1000/e1000_ethtool.c
> -	uint32_t rctl;
> -	int i, ret_val;
> -=======
>  	u32 rctl;
>  	int i, ret_val;
> ->>>>>>> /drivers/net/e1000/e1000_ethtool.c
>  
>  	/* Setup Tx descriptor ring and Tx buffers */
>  
> diff -puN drivers/net/e1000/e1000_main.c~git-e1000-fixup drivers/net/e1000/e1000_main.c
> --- a/drivers/net/e1000/e1000_main.c~git-e1000-fixup
> +++ a/drivers/net/e1000/e1000_main.c
> @@ -425,42 +425,22 @@ e1000_update_mng_vlan(struct e1000_adapt
>  static void
>  e1000_release_hw_control(struct e1000_adapter *adapter)
>  {
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	uint32_t ctrl_ext;
> -	uint32_t swsm;
> -=======
>  	u32 ctrl_ext;
>  	u32 swsm;
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  
>  	/* Let firmware taken over control of h/w */
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	switch (adapter->hw.mac_type) {
> -	case e1000_82573:
> -		swsm = E1000_READ_REG(&adapter->hw, SWSM);
> -		E1000_WRITE_REG(&adapter->hw, SWSM,
> -				swsm & ~E1000_SWSM_DRV_LOAD);
> -		break;
> -=======
>  	switch (adapter->hw.mac.type) {
>  	case e1000_82573:
>  		swsm = E1000_READ_REG(&adapter->hw, E1000_SWSM);
>  		E1000_WRITE_REG(&adapter->hw, E1000_SWSM,
>  				swsm & ~E1000_SWSM_DRV_LOAD);
>  		break;
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  	case e1000_82571:
>  	case e1000_82572:
>  	case e1000_80003es2lan:
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	case e1000_ich8lan:
> -		ctrl_ext = E1000_READ_REG(&adapter->hw, CTRL_EXT);
> -		E1000_WRITE_REG(&adapter->hw, CTRL_EXT,
> -=======
>  	case e1000_ich8lan:
>  		ctrl_ext = E1000_READ_REG(&adapter->hw, E1000_CTRL_EXT);
>  		E1000_WRITE_REG(&adapter->hw, E1000_CTRL_EXT,
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  				ctrl_ext & ~E1000_CTRL_EXT_DRV_LOAD);
>  		break;
>  	default:
> @@ -482,42 +462,22 @@ e1000_release_hw_control(struct e1000_ad
>  static void
>  e1000_get_hw_control(struct e1000_adapter *adapter)
>  {
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	uint32_t ctrl_ext;
> -	uint32_t swsm;
> -=======
>  	u32 ctrl_ext;
>  	u32 swsm;
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  
>  	/* Let firmware know the driver has taken over */
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	switch (adapter->hw.mac_type) {
> -	case e1000_82573:
> -		swsm = E1000_READ_REG(&adapter->hw, SWSM);
> -		E1000_WRITE_REG(&adapter->hw, SWSM,
> -				swsm | E1000_SWSM_DRV_LOAD);
> -		break;
> -=======
>  	switch (adapter->hw.mac.type) {
>  	case e1000_82573:
>  		swsm = E1000_READ_REG(&adapter->hw, E1000_SWSM);
>  		E1000_WRITE_REG(&adapter->hw, E1000_SWSM,
>  				swsm | E1000_SWSM_DRV_LOAD);
>  		break;
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  	case e1000_82571:
>  	case e1000_82572:
>  	case e1000_80003es2lan:
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	case e1000_ich8lan:
> -		ctrl_ext = E1000_READ_REG(&adapter->hw, CTRL_EXT);
> -		E1000_WRITE_REG(&adapter->hw, CTRL_EXT,
> -=======
>  	case e1000_ich8lan:
>  		ctrl_ext = E1000_READ_REG(&adapter->hw, E1000_CTRL_EXT);
>  		E1000_WRITE_REG(&adapter->hw, E1000_CTRL_EXT,
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  				ctrl_ext | E1000_CTRL_EXT_DRV_LOAD);
>  		break;
>  	default:
> @@ -571,19 +531,11 @@ e1000_release_manageability(struct e1000
>  	}
>  }
>  
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -/**
> - * e1000_configure - configure the hardware for RX and TX
> - * @adapter = private board structure
> - **/
> -static void e1000_configure(struct e1000_adapter *adapter)
> -=======
>  /**
>   * e1000_configure - configure the hardware for RX and TX
>   * @adapter: private board structure
>   **/
>  static void e1000_configure(struct e1000_adapter *adapter)
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  {
>  	struct net_device *netdev = adapter->netdev;
>  	int i;
> @@ -705,11 +657,6 @@ e1000_down(struct e1000_adapter *adapter
>  	 * reschedule our watchdog timer */
>  	set_bit(__E1000_DOWN, &adapter->flags);
>  
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -#ifdef CONFIG_E1000_NAPI
> -	netif_poll_disable(netdev);
> -#endif
> -=======
>  	/* disable receives in the hardware */
>  	rctl = E1000_READ_REG(&adapter->hw, E1000_RCTL);
>  	E1000_WRITE_REG(&adapter->hw, E1000_RCTL, rctl & ~E1000_RCTL_EN);
> @@ -728,7 +675,6 @@ e1000_down(struct e1000_adapter *adapter
>  #ifdef CONFIG_E1000_NAPI
>  	netif_poll_disable(netdev);
>  #endif
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  	e1000_irq_disable(adapter);
>  
>  	del_timer_sync(&adapter->tx_fifo_stall_timer);
> @@ -1534,30 +1480,6 @@ e1000_open(struct net_device *netdev)
>  	    e1000_check_mng_mode(&adapter->hw))
>  		e1000_get_hw_control(adapter);
>  
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	/* before we allocate an interrupt, we must be ready to handle it.
> -	 * Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt
> -	 * as soon as we call pci_request_irq, so we have to setup our
> -	 * clean_rx handler before we do so.  */
> -	e1000_configure(adapter);
> -
> -	err = e1000_request_irq(adapter);
> -	if (err)
> -		goto err_req_irq;
> -
> -	/* From here on the code is the same as e1000_up() */
> -	clear_bit(__E1000_DOWN, &adapter->flags);
> -
> -#ifdef CONFIG_E1000_NAPI
> -	netif_poll_enable(netdev);
> -#endif
> -
> -	e1000_irq_enable(adapter);
> -
> -	/* fire a link status change interrupt to start the watchdog */
> -	E1000_WRITE_REG(&adapter->hw, ICS, E1000_ICS_LSC);
> -
> -=======
>  	/* before we allocate an interrupt, we must be ready to handle it.
>  	 * Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt
>  	 * as soon as we call pci_request_irq, so we have to setup our
> @@ -1580,7 +1502,6 @@ e1000_open(struct net_device *netdev)
>  	/* fire a link status change interrupt to start the watchdog */
>  	E1000_WRITE_REG(&adapter->hw, E1000_ICS, E1000_ICS_LSC);
>  
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  	return E1000_SUCCESS;
>  
>  err_req_irq:
> @@ -2799,13 +2720,9 @@ e1000_watchdog_task(struct work_struct *
>  
>  			netif_carrier_on(netdev);
>  			netif_wake_queue(netdev);
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -			mod_timer(&adapter->phy_info_timer, round_jiffies(jiffies + 2 * HZ));
> -=======
>  			if (!test_bit(__E1000_DOWN, &adapter->flags))
>  				mod_timer(&adapter->phy_info_timer,
>  				          round_jiffies(jiffies + 2 * HZ));
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  			adapter->smartspeed = 0;
>  		} else {
>  			/* make sure the receive unit is started */
> @@ -2822,13 +2739,9 @@ e1000_watchdog_task(struct work_struct *
>  			DPRINTK(LINK, INFO, "NIC Link is Down\n");
>  			netif_carrier_off(netdev);
>  			netif_stop_queue(netdev);
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -			mod_timer(&adapter->phy_info_timer, round_jiffies(jiffies + 2 * HZ));
> -=======
>  			if (!test_bit(__E1000_DOWN, &adapter->flags))
>  				mod_timer(&adapter->phy_info_timer,
>  				          round_jiffies(jiffies + 2 * HZ));
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  
>  			/* 80003ES2LAN workaround--
>  			 * For packet buffer work-around on link down event;
> @@ -2881,13 +2794,9 @@ link_up:
>  		e1000_rar_set(&adapter->hw, adapter->hw.mac.addr, 0);
>  
>  	/* Reset the timer */
> -<<<<<<< HEAD/drivers/net/e1000/e1000_main.c
> -	mod_timer(&adapter->watchdog_timer, round_jiffies(jiffies + 2 * HZ));
> -=======
>  	if (!test_bit(__E1000_DOWN, &adapter->flags))
>  		mod_timer(&adapter->watchdog_timer,
>  		          round_jiffies(jiffies + 2 * HZ));
> ->>>>>>> /drivers/net/e1000/e1000_main.c
>  }
>  
>  enum latency_range {
> _
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ