Loading drivers/platform/msm/sps/sps_bam.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1090,6 +1090,7 @@ int sps_bam_pipe_disconnect(struct sps_bam *dev, u32 pipe_index) { { struct sps_pipe *pipe; struct sps_pipe *pipe; int result; int result; unsigned long flags; if (pipe_index >= dev->props.num_pipes) { if (pipe_index >= dev->props.num_pipes) { SPS_ERR(dev, "sps:Invalid BAM %pa pipe: %d\n", BAM_ID(dev), SPS_ERR(dev, "sps:Invalid BAM %pa pipe: %d\n", BAM_ID(dev), Loading @@ -1101,8 +1102,10 @@ int sps_bam_pipe_disconnect(struct sps_bam *dev, u32 pipe_index) pipe = dev->pipes[pipe_index]; pipe = dev->pipes[pipe_index]; if (BAM_PIPE_IS_ASSIGNED(pipe)) { if (BAM_PIPE_IS_ASSIGNED(pipe)) { if ((dev->pipe_active_mask & (1UL << pipe_index))) { if ((dev->pipe_active_mask & (1UL << pipe_index))) { spin_lock_irqsave(&dev->isr_lock, flags); list_del(&pipe->list); list_del(&pipe->list); dev->pipe_active_mask &= ~(1UL << pipe_index); dev->pipe_active_mask &= ~(1UL << pipe_index); spin_unlock_irqrestore(&dev->isr_lock, flags); } } dev->pipe_remote_mask &= ~(1UL << pipe_index); dev->pipe_remote_mask &= ~(1UL << pipe_index); if (pipe->connect.options & SPS_O_NO_DISABLE) if (pipe->connect.options & SPS_O_NO_DISABLE) Loading Loading
drivers/platform/msm/sps/sps_bam.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1090,6 +1090,7 @@ int sps_bam_pipe_disconnect(struct sps_bam *dev, u32 pipe_index) { { struct sps_pipe *pipe; struct sps_pipe *pipe; int result; int result; unsigned long flags; if (pipe_index >= dev->props.num_pipes) { if (pipe_index >= dev->props.num_pipes) { SPS_ERR(dev, "sps:Invalid BAM %pa pipe: %d\n", BAM_ID(dev), SPS_ERR(dev, "sps:Invalid BAM %pa pipe: %d\n", BAM_ID(dev), Loading @@ -1101,8 +1102,10 @@ int sps_bam_pipe_disconnect(struct sps_bam *dev, u32 pipe_index) pipe = dev->pipes[pipe_index]; pipe = dev->pipes[pipe_index]; if (BAM_PIPE_IS_ASSIGNED(pipe)) { if (BAM_PIPE_IS_ASSIGNED(pipe)) { if ((dev->pipe_active_mask & (1UL << pipe_index))) { if ((dev->pipe_active_mask & (1UL << pipe_index))) { spin_lock_irqsave(&dev->isr_lock, flags); list_del(&pipe->list); list_del(&pipe->list); dev->pipe_active_mask &= ~(1UL << pipe_index); dev->pipe_active_mask &= ~(1UL << pipe_index); spin_unlock_irqrestore(&dev->isr_lock, flags); } } dev->pipe_remote_mask &= ~(1UL << pipe_index); dev->pipe_remote_mask &= ~(1UL << pipe_index); if (pipe->connect.options & SPS_O_NO_DISABLE) if (pipe->connect.options & SPS_O_NO_DISABLE) Loading