|  | @@ -198,6 +198,13 @@ static int lan78xx_open ( struct net_device *netdev ) {
 | 
		
	
		
			
			| 198 | 198 |  				     LAN78XX_BULK_IN_DLY_SET ( 0 ) ) ) != 0 )
 | 
		
	
		
			
			| 199 | 199 |  		goto err_bulk_in_dly;
 | 
		
	
		
			
			| 200 | 200 |  
 | 
		
	
		
			
			|  | 201 | +	/* Enable automatic speed and duplex detection */
 | 
		
	
		
			
			|  | 202 | +	if ( ( rc = smscusb_writel ( smscusb, LAN78XX_MAC_CR,
 | 
		
	
		
			
			|  | 203 | +				     ( LAN78XX_MAC_CR_ADP |
 | 
		
	
		
			
			|  | 204 | +				       LAN78XX_MAC_CR_ADD |
 | 
		
	
		
			
			|  | 205 | +				       LAN78XX_MAC_CR_ASD ) ) ) != 0 )
 | 
		
	
		
			
			|  | 206 | +		goto err_mac_cr;
 | 
		
	
		
			
			|  | 207 | +
 | 
		
	
		
			
			| 201 | 208 |  	/* Configure receive filters */
 | 
		
	
		
			
			| 202 | 209 |  	if ( ( rc = smscusb_writel ( smscusb, LAN78XX_RFE_CTL,
 | 
		
	
		
			
			| 203 | 210 |  				     ( LAN78XX_RFE_CTL_AB |
 | 
		
	
	
		
			
			|  | @@ -256,6 +263,7 @@ static int lan78xx_open ( struct net_device *netdev ) {
 | 
		
	
		
			
			| 256 | 263 |   err_fct_tx_ctl:
 | 
		
	
		
			
			| 257 | 264 |   err_fct_rx_ctl:
 | 
		
	
		
			
			| 258 | 265 |   err_rfe_ctl:
 | 
		
	
		
			
			|  | 266 | + err_mac_cr:
 | 
		
	
		
			
			| 259 | 267 |   err_bulk_in_dly:
 | 
		
	
		
			
			| 260 | 268 |   err_int_ep_ctl:
 | 
		
	
		
			
			| 261 | 269 |  	usbnet_close ( &smscusb->usbnet );
 |