if ((card = isapnp_alloc(sizeof(struct pnp_card))) == NULL) 
if ((card = kcalloc(1, sizeof(struct pnp_card), GFP_KERNEL)) == NULL) 
static int __init isapnp_build_device_list(void){	int csn;	unsigned char header[9], checksum;	struct pnp_card *card;	isapnp_wait();	isapnp_key();	for (csn = 1; csn <= isapnp_csn_count; csn++) {		isapnp_wake(csn);		isapnp_peek(header, 9);		checksum = isapnp_checksum(header);#if 0		printk(KERN_DEBUG "vendor: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n",			header[0], header[1], header[2], header[3],			header[4], header[5], header[6], header[7], header[8]);		printk(KERN_DEBUG "checksum = 0x%x\n", checksum);#endif		if ((card = isapnp_alloc(sizeof(struct pnp_card))) == NULL)			continue;		card->number = csn;		INIT_LIST_HEAD(&card->devices);		isapnp_parse_card_id(card, (header[1] << 8) | header[0], (header[3] << 8) | header[2]);		card->serial = (header[7] << 24) | (header[6] << 16) | (header[5] << 8) | header[4];		isapnp_checksum_value = 0x00;		isapnp_parse_resource_map(card);		if (isapnp_checksum_value != 0x00)			printk(KERN_ERR "isapnp: checksum for device %i is not valid (0x%x)\n", csn, isapnp_checksum_value);		card->checksum = isapnp_checksum_value;		card->protocol = &isapnp_protocol;		pnp_add_card(card);	}	isapnp_wait();	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a2822e7f00cdccbff8e507b5ebbddce1aa95eb5d/core.c/clean/drivers/pnp/isapnp/core.c