/* fc_bsg_softirq_done - softirq done routine for destroying the bsg requests @rq: BSG request that holds the job to be destroyed  */
static void fc_bsg_softirq_done(struct request *rq)
/* fc_bsg_softirq_done - softirq done routine for destroying the bsg requests @rq: BSG request that holds the job to be destroyed  */
static void fc_bsg_softirq_done(struct request *rq)
{
	struct fc_bsg_job *job = rq->special;
	unsigned long flags;
	spin_lock_irqsave(&job->job_lock, flags);
	job->state_flags |= FC_RQST_STATE_DONE;
	job->ref_cnt--;
	spin_unlock_irqrestore(&job->job_lock, flags);
	blk_end_request_all(rq, rq->errors);
	fc_destroy_bsgjob(job);
}