lantiq: ltq-atm/ltq-ptm: fix showtime handling on driver load
This is needed to be able to load the ltq-atm/ltq-ptm driver from a notify script during synchronization, because the line can reach showtime state before the driver is fully loaded. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
This commit is contained in:
		 Martin Schiller
					Martin Schiller
				
			
				
					committed by
					
						 Mathias Kresin
						Mathias Kresin
					
				
			
			
				
	
			
			
			 Mathias Kresin
						Mathias Kresin
					
				
			
						parent
						
							0481a2a2c5
						
					
				
				
					commit
					2d6c7c2526
				
			| @@ -1866,15 +1866,11 @@ static int ltq_atm_probe(struct platform_device *pdev) | |||||||
| 	port_cell.port_num = ATM_PORT_NUMBER; | 	port_cell.port_num = ATM_PORT_NUMBER; | ||||||
| 	ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &g_xdata_addr); | 	ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &g_xdata_addr); | ||||||
| 	if ( g_showtime ) { | 	if ( g_showtime ) { | ||||||
| 		for ( i = 0; i < ATM_PORT_NUMBER; i++ ) | 		atm_showtime_enter(&port_cell, &g_xdata_addr); | ||||||
| 			if ( port_cell.tx_link_rate[i] != 0 ) | 	} else { | ||||||
| 				break; | 		qsb_global_set(); | ||||||
| 		for ( j = 0; j < ATM_PORT_NUMBER; j++ ) |  | ||||||
| 			g_atm_priv_data.port[j].tx_max_cell_rate = |  | ||||||
| 				port_cell.tx_link_rate[j] != 0 ? port_cell.tx_link_rate[j] : port_cell.tx_link_rate[i]; |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	qsb_global_set(); |  | ||||||
| 	validate_oam_htu_entry(); | 	validate_oam_htu_entry(); | ||||||
|  |  | ||||||
| 	ifx_mei_atm_showtime_enter = atm_showtime_enter; | 	ifx_mei_atm_showtime_enter = atm_showtime_enter; | ||||||
|   | |||||||
| @@ -1518,6 +1518,9 @@ static int ifx_ptm_init(void) | |||||||
|  |  | ||||||
|     port_cell.port_num = 1; |     port_cell.port_num = 1; | ||||||
|     ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &xdata_addr); |     ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &xdata_addr); | ||||||
|  |     if ( g_showtime ) { | ||||||
|  | 	ptm_showtime_enter(&port_cell, &g_xdata_addr); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     ifx_mei_atm_showtime_enter = ptm_showtime_enter; |     ifx_mei_atm_showtime_enter = ptm_showtime_enter; | ||||||
|     ifx_mei_atm_showtime_exit  = ptm_showtime_exit; |     ifx_mei_atm_showtime_exit  = ptm_showtime_exit; | ||||||
|   | |||||||
| @@ -1022,6 +1022,9 @@ static int ifx_ptm_init(void) | |||||||
|     enable_irq(PPE_MAILBOX_IGU1_INT); |     enable_irq(PPE_MAILBOX_IGU1_INT); | ||||||
|  |  | ||||||
|     ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &g_xdata_addr); |     ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &g_xdata_addr); | ||||||
|  |     if ( g_showtime ) { | ||||||
|  | 	ptm_showtime_enter(&port_cell, &g_xdata_addr); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     ifx_mei_atm_showtime_enter = ptm_showtime_enter; |     ifx_mei_atm_showtime_enter = ptm_showtime_enter; | ||||||
|     ifx_mei_atm_showtime_exit  = ptm_showtime_exit; |     ifx_mei_atm_showtime_exit  = ptm_showtime_exit; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user