]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
parisc: Do not reprogram affinitiy on ASP chip
authorHelge Deller <deller@gmx.de>
Tue, 25 Nov 2025 14:23:02 +0000 (15:23 +0100)
committerHelge Deller <deller@gmx.de>
Tue, 25 Nov 2025 14:23:02 +0000 (15:23 +0100)
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
drivers/parisc/gsc.c

index a0daaa548bc3920e8a356e58582c2da44ca53c9d..8ba778170447eb1577315eef604377ac34b6d1f2 100644 (file)
@@ -154,7 +154,9 @@ static int gsc_set_affinity_irq(struct irq_data *d, const struct cpumask *dest,
        gsc_dev->eim = ((u32) gsc_dev->gsc_irq.txn_addr) | gsc_dev->gsc_irq.txn_data;
 
        /* switch IRQ's for devices below LASI/WAX to other CPU */
-       gsc_writel(gsc_dev->eim, gsc_dev->hpa + OFFSET_IAR);
+       /* ASP chip (svers 0x70) does not support reprogramming */
+       if (gsc_dev->gsc->id.sversion != 0x70)
+               gsc_writel(gsc_dev->eim, gsc_dev->hpa + OFFSET_IAR);
 
        irq_data_update_effective_affinity(d, &tmask);