int rc; 
int rc, i; 
smsg_message_pending(iucv_MessagePending *eib, void *pgm_data){	struct smsg_callback *cb;	unsigned char *msg;	unsigned short len;	int rc;	len = eib->ln1msg2.ipbfln1f;	msg = kmalloc(len + 1, GFP_ATOMIC|GFP_DMA);	if (!msg) {		iucv_reject(eib->ippathid, eib->ipmsgid, eib->iptrgcls);		return;	}	rc = iucv_receive(eib->ippathid, eib->ipmsgid, eib->iptrgcls,			  msg, len, 0, 0, 0);	if (rc == 0) {		msg[len] = 0;		EBCASC(msg, len);		spin_lock(&smsg_list_lock);		list_for_each_entry(cb, &smsg_list, list)			if (strncmp(msg + 8, cb->prefix, cb->len) == 0) {				cb->callback(msg + 8);				break;			}		spin_unlock(&smsg_list_lock);	}	kfree(msg);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/15439d74f621ff8252b53136d259781148e6e768/smsgiucv.c/clean/drivers/s390/net/smsgiucv.c