[U-Boot] [PATCH 03/31] netloop: speed up NetLoop

Heiko Schocher hs at denx.de
Thu Jan 29 10:01:34 CET 2009


Hello Kim,

Kim Phillips:
> On Wed, 28 Jan 2009 10:38:42 +0100
> Heiko Schocher <hs at denx.de> wrote:
>> +++ b/common/cmd_nvedit.c
>> @@ -75,7 +75,12 @@ DECLARE_GLOBAL_DATA_PTR;
>>  static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE;
>>  #define	N_BAUDRATES (sizeof(baudrate_table) / sizeof(baudrate_table[0]))
>>
>> +static int env_id = 1;
>>
>> +int get_env_id (void)
>> +{
>> +	return env_id;
>> +}
> 
> does getting env_id really need be a function?

not absolute, but accesing this var from another file by a
function seems better to me.

>> diff --git a/net/eth.c b/net/eth.c
>> index b7ef09f..d1d73cb 100644
>> --- a/net/eth.c
>> +++ b/net/eth.c
>> @@ -28,7 +28,11 @@
>>
>>  #if defined(CONFIG_CMD_NET) && defined(CONFIG_NET_MULTI)
>>
>> +static char *act = 0;
>> +static int  env_changed_id = 0;
>> +
>>  /*
>> +*
> 
> please don't mess with the already good comment coding style.

Argh, sorry.

>>   * CPU and board-specific Ethernet initializations.  Aliased function
>>   * signals caller to move on
>>   */
>> @@ -439,13 +443,16 @@ void eth_try_another(int first_restart)
>>  #ifdef CONFIG_NET_MULTI
>>  void eth_set_current(void)
>>  {
>> -	char *act;
>>  	struct eth_device* old_current;
>>
>>  	if (!eth_current)	/* XXX no current */
>>  		return;
>>
>> -	act = getenv("ethact");
>> +	if ((*act == 0) || (env_changed_id < get_env_id()))
> 
> If I'm not mistaken, this will unintentionally dereference address 0
> the first time this is executed.

Hmm.. must think about it.

thanks
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list