BUG_ON(in_interrupt()); 
BUG_ON(in_interrupt()); 
int hpsb_read(struct hpsb_host *host, nodeid_t node, unsigned int generation,	      u64 addr, quadlet_t *buffer, size_t length){        struct hpsb_packet *packet;        int retval = 0;        if (length == 0)                return -EINVAL;	BUG_ON(in_interrupt()); // We can't be called in an interrupt, yet	packet = hpsb_make_readpacket(host, node, addr, length);        if (!packet) {                return -ENOMEM;        }	packet->generation = generation;        retval = hpsb_send_packet_and_wait(packet);	if (retval < 0)		goto hpsb_read_fail;        retval = hpsb_packet_success(packet);        if (retval == 0) {                if (length == 4) {                        *buffer = packet->header[3];                } else {                        memcpy(buffer, packet->data, length);                }        }hpsb_read_fail:        hpsb_free_tlabel(packet);        hpsb_free_packet(packet);        return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/16c333a34a1a0441c54c4fe5cf6052716f95c2fa/ieee1394_transactions.c/buggy/drivers/ieee1394/ieee1394_transactions.c