Skip to content

Commit 87ca4ad

Browse files
hoshinolinajannau
authored andcommitted
media: apple: isp: Make channel sends not interruptible
Otherwise processes receiving a signal will break our command flows. Signed-off-by: Asahi Lina <lina@asahilina.net>
1 parent b568929 commit 87ca4ad

2 files changed

Lines changed: 4 additions & 5 deletions

File tree

drivers/media/platform/apple/isp/isp-fw.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,15 +132,15 @@ static irqreturn_t apple_isp_isr_thread(int irq, void *dev)
132132
{
133133
struct apple_isp *isp = dev;
134134

135-
wake_up_interruptible_all(&isp->wait);
135+
wake_up_all(&isp->wait);
136136

137137
ipc_chan_handle(isp, isp->chan_sm);
138-
wake_up_interruptible_all(&isp->wait); /* Some commands depend on sm */
138+
wake_up_all(&isp->wait); /* Some commands depend on sm */
139139

140140
ipc_chan_handle(isp, isp->chan_tm);
141141

142142
ipc_chan_handle(isp, isp->chan_bt);
143-
wake_up_interruptible_all(&isp->wait);
143+
wake_up_all(&isp->wait);
144144

145145
return IRQ_HANDLED;
146146
}

drivers/media/platform/apple/isp/isp-ipc.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,7 @@ int ipc_chan_send(struct apple_isp *isp, struct isp_channel *chan,
178178
if (!timeout)
179179
return 0;
180180

181-
t = wait_event_interruptible_timeout(isp->wait, chan_tx_done(isp, chan),
182-
timeout);
181+
t = wait_event_timeout(isp->wait, chan_tx_done(isp, chan), timeout);
183182
if (t == 0) {
184183
dev_err(isp->dev,
185184
"%s: timed out on request [0x%llx, 0x%llx, 0x%llx]\n",

0 commit comments

Comments
 (0)