if (ipr_map_ucode_buffer(ipr_cmd, sglist, sglist->buffer_len)) { dev_err(&ioa_cfg->pdev->dev, "Failed to map microcode download buffer\n"); return IPR_RC_JOB_CONTINUE; }  
ipr_build_ucode_ioadl(ipr_cmd, sglist); 
static int ipr_reset_ucode_download(struct ipr_cmnd *ipr_cmd){	struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg;	struct ipr_sglist *sglist = ioa_cfg->ucode_sglist;	ENTER;	ipr_cmd->job_step = ipr_reset_alert;	if (!sglist)		return IPR_RC_JOB_CONTINUE;	ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);	ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_SCSICDB;	ipr_cmd->ioarcb.cmd_pkt.cdb[0] = WRITE_BUFFER;	ipr_cmd->ioarcb.cmd_pkt.cdb[1] = IPR_WR_BUF_DOWNLOAD_AND_SAVE;	ipr_cmd->ioarcb.cmd_pkt.cdb[6] = (sglist->buffer_len & 0xff0000) >> 16;	ipr_cmd->ioarcb.cmd_pkt.cdb[7] = (sglist->buffer_len & 0x00ff00) >> 8;	ipr_cmd->ioarcb.cmd_pkt.cdb[8] = sglist->buffer_len & 0x0000ff;	if (ipr_map_ucode_buffer(ipr_cmd, sglist, sglist->buffer_len)) {		dev_err(&ioa_cfg->pdev->dev,			"Failed to map microcode download buffer\n");		return IPR_RC_JOB_CONTINUE;	}	ipr_cmd->job_step = ipr_reset_ucode_download_done;	ipr_do_req(ipr_cmd, ipr_reset_ioa_job, ipr_timeout,		   IPR_WRITE_BUFFER_TIMEOUT);	LEAVE;	return IPR_RC_JOB_RETURN;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/12baa4202d74d799f4f8a4bd0455b485e4f8e876/ipr.c/buggy/drivers/scsi/ipr.c