Thomas Bogendoerfer
8ed89cfc86
parisc: DMA API: return error instead of BUG_ON for dma ops on non dma devs
commit 33f9e02495 upstream.
Enabling parport pc driver on a B2600 (and probably other 64bit PARISC
systems) produced following BUG:
CPU: 0 PID: 1 Comm: swapper Not tainted 4.12.0-rc5-30198-g1132d5e #156
task: 000000009e050000 task.stack: 000000009e04c000
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00001000000001101111111100001111 Not tainted
r00-03 000000ff0806ff0f 000000009e04c990 0000000040871b78 000000009e04cac0
r04-07 0000000040c14de0 ffffffffffffffff 000000009e07f098 000000009d82d200
r08-11 000000009d82d210 0000000000000378 0000000000000000 0000000040c345e0
r12-15 0000000000000005 0000000040c345e0 0000000000000000 0000000040c9d5e0
r16-19 0000000040c345e0 00000000f00001c4 00000000f00001bc 0000000000000061
r20-23 000000009e04ce28 0000000000000010 0000000000000010 0000000040b89e40
r24-27 0000000000000003 0000000000ffffff 000000009d82d210 0000000040c14de0
r28-31 0000000000000000 000000009e04ca90 000000009e04cb40 0000000000000000
sr00-03 0000000000000000 0000000000000000 0000000000000000 0000000000000000
sr04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000
IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000404aece0 00000000404aece4
IIR: 03ffe01f ISR: 0000000010340000 IOR: 000001781304cac8
CPU: 0 CR30: 000000009e04c000 CR31: 00000000e2976de2
ORIG_R28: 0000000000000200
IAOQ[0]: sba_dma_supported+0x80/0xd0
IAOQ[1]: sba_dma_supported+0x84/0xd0
RP(r2): parport_pc_probe_port+0x178/0x1200
Cause is a call to dma_coerce_mask_and_coherenet in parport_pc_probe_port,
which PARISC DMA API doesn't handle very nicely. This commit gives back
DMA_ERROR_CODE for DMA API calls, if device isn't capable of DMA
transaction.
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-07-21 07:42:20 +02:00
..
2017-06-07 12:07:47 +02:00
2017-06-14 15:06:00 +02:00
2017-03-30 09:41:27 +02:00
2017-07-15 12:16:11 +02:00
2017-03-12 06:41:52 +01:00
2017-07-05 14:40:20 +02:00
2017-05-20 14:28:41 +02:00
2017-01-19 20:18:07 +01:00
2017-07-15 12:16:11 +02:00
2017-07-05 14:40:30 +02:00
2017-04-12 12:41:16 +02:00
2017-07-05 14:40:30 +02:00
2017-07-15 12:16:16 +02:00
2017-05-20 14:28:41 +02:00
2017-03-12 06:41:44 +01:00
2017-06-29 13:00:31 +02:00
2017-04-18 07:11:50 +02:00
2017-01-19 20:18:03 +01:00
2017-04-21 09:31:20 +02:00
2017-07-05 14:40:18 +02:00
2017-07-12 15:01:03 +02:00
2017-07-05 14:40:24 +02:00
2017-03-30 09:41:27 +02:00
2017-05-14 14:00:13 +02:00
2017-03-30 09:41:27 +02:00
2017-07-05 14:40:30 +02:00
2017-04-12 12:41:17 +02:00
2017-06-24 07:11:17 +02:00
2017-07-12 15:01:07 +02:00
2017-06-29 13:00:29 +02:00
2017-07-05 14:40:30 +02:00
2017-07-21 07:42:20 +02:00
2017-03-26 13:05:58 +02:00
2017-05-14 14:00:15 +02:00
2017-07-15 12:16:15 +02:00
2017-07-15 12:16:17 +02:00
2017-03-15 10:02:45 +08:00
2017-06-24 07:11:14 +02:00
2017-06-24 07:11:16 +02:00
2017-06-07 12:07:47 +02:00
2017-07-05 14:40:31 +02:00
2017-07-21 07:42:19 +02:00
2017-02-23 17:44:36 +01:00
2017-07-05 14:40:25 +02:00
2017-06-17 06:41:55 +02:00
2017-06-29 13:00:31 +02:00
2017-07-21 07:42:20 +02:00
2017-06-17 06:41:54 +02:00
2017-06-17 06:41:48 +02:00
2017-05-14 14:00:19 +02:00
2017-07-12 15:01:05 +02:00
2017-07-05 14:40:23 +02:00
2017-05-14 14:00:15 +02:00
2017-01-19 20:18:07 +01:00
2017-04-21 09:31:22 +02:00
2017-07-05 14:40:29 +02:00
2017-03-12 06:41:50 +01:00
2017-01-26 08:24:44 +01:00
2017-04-21 09:31:24 +02:00
2017-06-07 12:07:43 +02:00
2017-07-05 14:40:24 +02:00
2017-01-26 08:24:45 +01:00
2017-07-05 14:40:28 +02:00
2017-07-15 12:16:16 +02:00
2017-06-29 13:00:30 +02:00
2017-06-24 07:11:14 +02:00
2017-07-12 15:01:06 +02:00
2017-05-25 15:44:46 +02:00
2017-07-05 14:40:23 +02:00
2017-06-17 06:41:57 +02:00
2017-04-21 09:31:21 +02:00
2017-03-31 10:31:45 +02:00
2017-03-12 06:41:50 +01:00
2017-03-12 06:41:48 +01:00
2017-07-05 14:40:28 +02:00
2017-07-05 14:40:22 +02:00
2017-05-20 14:28:35 +02:00