plan 9 kernel history: overview | file list | diff list

2000/1006/pc/pcmciamodem.c (diff list | history)

1999/0312/sys/src/9/pc/pcmciamodem.c:31,402000/1006/sys/src/9/pc/pcmciamodem.c:31,41 (short | long | prev | next)
Bug fix: only use com2 for one modem.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
pcmciamodemlink(void) 
{ 
	ISAConf isa; 
1998/0811    
	int i, j, slot; 
2000/1006    
	int i, j, slot, com2used; 
1998/0221    
 
	i = 0; 
	for(;;){ 
2000/1006    
	com2used = 0; 
	for(j = 0; modems[j]; j++){ 
1998/0221    
		memset(&isa, 0, sizeof(isa)); 
 
		/* look for a configuration line */ 
1999/0312/sys/src/9/pc/pcmciamodem.c:45,662000/1006/sys/src/9/pc/pcmciamodem.c:46,65
1998/0221    
			memset(&isa, 0, sizeof(isa)); 
		} 
 
		/* default is COM2 */ 
		if(isa.irq == 0) 
			isa.irq = 3; 
		if(isa.port == 0) 
			isa.port = 0x2F8; 
                 
1998/0910    
		slot = -1; 
1998/0811    
		for(j = 0; modems[j]; j++){ 
1998/0819    
			slot = pcmspecial(modems[j], &isa); 
1999/0220    
			if(slot >= 0){ 
1999/0301    
				print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
1999/0220    
					modems[j], slot, isa.port, isa.irq); 
2000/1006    
		if (isa.irq == 0 && isa.port == 0) { 
			if (com2used == 0) { 
				/* default is COM2 */ 
				isa.irq = 3; 
				isa.port = 0x2F8; 
				com2used++; 
			} else 
1998/0811    
				break; 
1999/0220    
			} 
1998/0811    
		} 
1998/0221    
		if(slot < 0) 
			break; 
2000/1006    
 
		slot = pcmspecial(modems[j], &isa); 
		if(slot >= 0){ 
			print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
				modems[j], slot, isa.port, isa.irq); 
		} 
1998/0221    
	} 
}	 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)