Ensure that the port number specified in the listener.ora. and the tnsnames.ora is not already in use. You may also get this error if you shut the listener down for any reason, and then try to start it back up.
Basically your errors 12542 indicates that the listener port is already in use by another application. Or maybe have another listener running or perhaps added another instance but it's trying to listen on the same port.
Check the ports in use, make appropriate corrections to listener.ora and tnsnames.ora files with new port number and restart the listener.
With Windows NT, do a netstat. This will search all the ports being used in your machine.
If there are multiple address for 'PROTOCOL=IPC' in the same LISTENER.ORA file for a listener, make sure none of the 'KEY' parameter values are duplicated.
Check if this parameter is set in the listener.ora:
USE_CKPFILE_LISTENER = true
If this setting exists, it means you are using a checkpoint file for your listener. Check the port settings in use in the file - they may be an already allocated port. If your listener.ora is correct, set this parameter to FALSE. This will keep the listener from reading the checkpoint file.