Skip to content

Commit 33fb89f

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 0d38cba commit 33fb89f

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
@@ -130,15 +130,15 @@ static irqreturn_t apple_isp_isr_thread(int irq, void *dev)
130130
{
131131
struct apple_isp *isp = dev;
132132

133-
wake_up_interruptible_all(&isp->wait);
133+
wake_up_all(&isp->wait);
134134

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

138138
ipc_chan_handle(isp, isp->chan_tm);
139139

140140
ipc_chan_handle(isp, isp->chan_bt);
141-
wake_up_interruptible_all(&isp->wait);
141+
wake_up_all(&isp->wait);
142142

143143
return IRQ_HANDLED;
144144
}

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)