• Joakim Tjernlund's avatar
    [IPCONFIG]: ip_auto_config fix · dcbdc93c
    Joakim Tjernlund authored
    The following commandline:
    
     root=/dev/mtdblock6 rw rootfstype=jffs2 ip=192.168.1.10:::255.255.255.0:localhost.localdomain:eth1:off console=ttyS0,115200
    
    makes ip_auto_config fall back to DHCP and complain "IP-Config: Incomplete
    network configuration information." depending on if CONFIG_IP_PNP_DHCP is
    set or not.
    
    The only way I can make ip_auto_config accept my IP config is to add an
    entry for the server IP:
    
    ip=192.168.1.10:192.168.1.15::255.255.255.0:localhost.localdomain:eth1:off
    
    I think this is a bug since I am not using a NFS root FS.
    
    The following patch fixes the above problem.
    
    From: Andrew Morton <akpm@linux-foundation.org>
    
    Davem said (in February!):
    
      Well, first of all the change in question is not in 2.4.x either.  I just
      checked the current 2.4.x GIT tree and the test is exactly:
    
    	if (ic_myaddr == INADDR_NONE ||
    #ifdef CONFIG_ROOT_NFS
    	    (MAJOR(ROOT_DEV) == UNNAMED_MAJOR
    	     && root_server_addr == INADDR_NONE
    	     && ic_servaddr == INADDR_NONE) ||
    #endif
    	    ic_first_dev->next) {
    
      which matches 2.6.x
    
      I even checked 2.4.x when it was branched for 2.5.x and the test was the
      same at the point in time too.
    
      Looking at the proposed change a bit it appears that it is probably
      correct, as it's trying to check that ROOT_DEV is nfs root.  But if it is
      correct then the UNNAMED_MAJOR comparison in the same code block should be
      removed as it becomes superfluous.
    
      I'm happy to apply this patch with that modification made.
    Signed-off-by: default avatarJoakim Tjernlund <joakim.tjernlund@transmode.se>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    dcbdc93c
ipconfig.c 35.6 KB