Skip to content

Commit dca7da2

Browse files
committed
parisc: Do not reprogram affinitiy on ASP chip
The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location. Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine. Signed-off-by: Helge Deller <deller@gmx.de> Cc: stable@vger.kernel.org
1 parent 75b5143 commit dca7da2

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/parisc/gsc.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,9 @@ static int gsc_set_affinity_irq(struct irq_data *d, const struct cpumask *dest,
154154
gsc_dev->eim = ((u32) gsc_dev->gsc_irq.txn_addr) | gsc_dev->gsc_irq.txn_data;
155155

156156
/* switch IRQ's for devices below LASI/WAX to other CPU */
157-
gsc_writel(gsc_dev->eim, gsc_dev->hpa + OFFSET_IAR);
157+
/* ASP chip (svers 0x70) does not support reprogramming */
158+
if (gsc_dev->gsc->id.sversion != 0x70)
159+
gsc_writel(gsc_dev->eim, gsc_dev->hpa + OFFSET_IAR);
158160

159161
irq_data_update_effective_affinity(d, &tmask);
160162

0 commit comments

Comments
 (0)