public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Stefan Assmann <sassmann@kpanic.de>
To: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"e1000-devel@lists.sourceforge.net"
	<e1000-devel@lists.sourceforge.net>,
	"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
	"Pieper, Jeffrey E" <jeffrey.e.pieper@intel.com>,
	"Ronciak, John" <john.ronciak@intel.com>
Subject: Re: [PATCH] igb: restore EEPROM 16kB access limit
Date: Fri, 08 Apr 2011 22:04:20 +0200	[thread overview]
Message-ID: <4D9F6A44.7060809@kpanic.de> (raw)
In-Reply-To: <EDC0E76513226749BFBC9C3FB031318F0137E85A8E@orsmsx508.amr.corp.intel.com>

On 08.04.2011 18:40, Wyborny, Carolyn wrote:
> 
> 
>> -----Original Message-----
>> From: Stefan Assmann [mailto:sassmann@kpanic.de]
>> Sent: Friday, April 08, 2011 6:35 AM
>> To: netdev@vger.kernel.org
>> Cc: e1000-devel@lists.sourceforge.net; Kirsher, Jeffrey T; Pieper,
>> Jeffrey E; Wyborny, Carolyn; Ronciak, John
>> Subject: [PATCH] igb: restore EEPROM 16kB access limit
>>
>> The check limiting the EEPROM access up to 16kB was removed by
>> commit 4322e561a93ec7ee034b603a6c610e7be90d4e8a. Without this check
>> the kernel will try to checksum the EEPROM up to 2MB (observed with
>> a 8086:10c9 NIC) and fail.
>>
>> igb 0000:03:00.0: 0 vfs allocated
>> igb 0000:03:00.0: The NVM Checksum Is Not Valid
>> ACPI: PCI interrupt for device 0000:03:00.0 disabled
>> igb: probe of 0000:03:00.0 failed with error -5
>>
>> Reason for that being an overflow in u16 e1000_nvm_info->nvm
>> while doing "nvm->word_size = 1 << size;" with size == 21.
>> Putting the check back in place.
>>
>> Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
>> ---
>> drivers/net/igb/e1000_82575.c |    4 ++++
>> 1 files changed, 4 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/igb/e1000_82575.c
>> b/drivers/net/igb/e1000_82575.c
>> index 6b256c2..5cfa37f 100644
>> --- a/drivers/net/igb/e1000_82575.c
>> +++ b/drivers/net/igb/e1000_82575.c
>> @@ -244,6 +244,10 @@ static s32 igb_get_invariants_82575(struct e1000_hw
>> *hw)
>> 	 */
>> 	size += NVM_WORD_SIZE_BASE_SHIFT;
>>
>> +	/* EEPROM access above 16k is unsupported */
>> +	if (size > 14)
>> +		size = 14;
>> +
>> 	nvm->word_size = 1 << size;
>> 	if (nvm->word_size == (1 << 15))
>> 		nvm->page_size = 128;
>> --
>> 1.7.4
> NACK
> 
> This doesn't apply against current upstream RC kernel.  There was more changed in that commit than just the removal of this.  There is a missing section of code that is needed, but not this.  This starts at line 251 in e1000_82575.c

Carolyn,

the patch applies against latest net-next-2.6
(782d640afd15af7a1faf01cfe566ca4ac511319d).

How do you explain the behaviour observed in the patch description?

> 
> --snip--
>         /* NVM Function Pointers */
>         nvm->ops.acquire = igb_acquire_nvm_82575;
>         if (nvm->word_size < (1 << 15))
>                 nvm->ops.read = igb_read_nvm_eerd;
>         else
>                 nvm->ops.read = igb_read_nvm_spi;
> --snip--

Ok, so I assume some new NICs allow access beyond the 16k boundary.
In that case we should identify which NICs and treat them separately,
keeping the behaviour identical for the others.

  Stefan

  reply	other threads:[~2011-04-08 20:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-08 13:34 [PATCH] igb: restore EEPROM 16kB access limit Stefan Assmann
2011-04-08 16:40 ` Wyborny, Carolyn
2011-04-08 20:04   ` Stefan Assmann [this message]
2011-04-08 20:10     ` Wyborny, Carolyn
2011-04-26 15:06       ` Andy Gospodarek
2011-04-26 15:12         ` Wyborny, Carolyn
2011-04-27 14:15           ` Andy Gospodarek
2011-04-27 15:01             ` Wyborny, Carolyn
2011-04-26 15:07       ` Stefan Assmann
2011-04-26 15:10         ` Wyborny, Carolyn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D9F6A44.7060809@kpanic.de \
    --to=sassmann@kpanic.de \
    --cc=carolyn.wyborny@intel.com \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=jeffrey.e.pieper@intel.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=john.ronciak@intel.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox