]> 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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:52 +0000 (13:09 +0100)
commit dca7da244349eef4d78527cafc0bf80816b261f5 upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/parisc/gsc.c

index ec175ae998733bb69f90217eb2794e25d66e9ab5..11b750f12ee9a0e80cb0c217969d2d1699672a08 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);