ソースを参照

goldfish: fix kernel panic when using multiple adb connection

When using multiple adb on 64 bit kernel to transfer data,
the goldfish pipe interrupt will crash the kernel.

Signed-off-by: Jun Tian <jun.j.tian@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jun Tian 11 年 前
コミット
25c72c786c
1 ファイル変更3 行追加0 行削除
  1. 3 0
      drivers/platform/goldfish/goldfish_pipe.c

+ 3 - 0
drivers/platform/goldfish/goldfish_pipe.c

@@ -469,6 +469,9 @@ static irqreturn_t goldfish_pipe_interrupt(int irq, void *dev_id)
 
 #ifdef CONFIG_64BIT
 		channel = (u64)readl(dev->base + PIPE_REG_CHANNEL_HIGH) << 32;
+
+		if (channel == 0)
+			break;
 #endif
 		channel |= readl(dev->base + PIPE_REG_CHANNEL);