# git rev-parse -q --verify 6ecad912a0073c768db1491c27ca55ad2d0ee68f^{commit} 6ecad912a0073c768db1491c27ca55ad2d0ee68f already have revision, skipping fetch # git checkout -q -f -B kisskb 6ecad912a0073c768db1491c27ca55ad2d0ee68f # git clean -qxdf # git log -1 commit 6ecad912a0073c768db1491c27ca55ad2d0ee68f Author: Alexey Kardashevskiy Date: Wed Feb 17 18:26:31 2016 +1100 powerpc/ioda: Set "read" permission when "write" is set Quite often drivers set only "write" permission assuming that this includes "read" permission as well and this works on plenty of platforms. However IODA2 is strict about this and produces an EEH when "read" permission is not set and reading happens. This adds a workaround in the IODA code to always add the "read" bit when the "write" bit is set. Fixes: 10b35b2b7485 ("powerpc/powernv: Do not set "read" flag if direction==DMA_NONE") Cc: stable@vger.kernel.org # 4.2+ Cc: Benjamin Herrenschmidt Signed-off-by: Alexey Kardashevskiy Tested-by: Douglas Miller Signed-off-by: Michael Ellerman # < /opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 6ecad912a0073c768db1491c27ca55ad2d0ee68f # < make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- allnoconfig # make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- make[1]: Entering directory '/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/preempt.h UPD include/config/kernel.release WRAP arch/powerpc/include/generated/asm/vtime.h WRAP arch/powerpc/include/generated/asm/rwsem.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h Using /home/kisskb/slave/src as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o CC scripts/mod/empty.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/dtc-lexer.lex.o GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost CHK include/generated/timeconst.h CC kernel/bounds.s UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh LD usr/built-in.o CC init/main.o CHK include/generated/compile.h CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o CC arch/powerpc/mm/fault.o UPD include/generated/compile.h LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/pgtable.o AS arch/powerpc/lib/string.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/mm/pgtable_32.o CC init/version.o CC arch/powerpc/lib/ppc_ksyms.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/mm/mmu_context_hash32.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/div64.o AS arch/powerpc/lib/copy_32.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/mm/tlb_hash32.o AS arch/powerpc/mm/hash_low_32.o CC arch/powerpc/mm/ppc_mmu_32.o AS arch/powerpc/lib/checksum_32.o LD arch/powerpc/platforms/built-in.o LD arch/powerpc/math-emu/built-in.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/traps.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/kernel/process.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/io.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/udbg.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/dma.o CC arch/powerpc/kernel/prom_parse.o LD arch/powerpc/crypto/built-in.o AS arch/powerpc/kernel/idle_6xx.o LD arch/powerpc/net/built-in.o AS arch/powerpc/kernel/l2cr_6xx.o AS arch/powerpc/kernel/cpu_setup_6xx.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/setup_32.o CC arch/powerpc/kernel/pci_32.o AS arch/powerpc/kernel/entry_32.o CC arch/powerpc/kernel/iomap.o AS arch/powerpc/kernel/head_32.o AS arch/powerpc/kernel/fpu.o LDS arch/powerpc/kernel/vmlinux.lds LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/note.o LD certs/built-in.o AS arch/powerpc/kernel/systbl.o LD arch/powerpc/lib/built-in.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg LD ipc/built-in.o OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o CC security/commoncap.o CC security/min_addr.o LD crypto/built-in.o LD arch/powerpc/kernel/vdso32/built-in.o LD block/built-in.o LD arch/powerpc/mm/built-in.o CC mm/filemap.o CC mm/mempool.o CC mm/truncate.o CC mm/page-writeback.o CC mm/readahead.o CC mm/swap.o CC mm/maccess.o CC mm/shmem.o CC mm/vmscan.o CC mm/page_alloc.o CC mm/oom_kill.o CC mm/mmzone.o CC mm/vmstat.o CC mm/util.o CC mm/vmacache.o CC mm/compaction.o CC mm/backing-dev.o CC mm/mm_init.o CC mm/percpu.o CC mm/slab_common.o CC mm/interval_tree.o CC mm/workingset.o CC mm/mincore.o CC mm/mlock.o CC mm/mmap.o CC mm/gup.o CC mm/mremap.o CC mm/highmem.o CC mm/memory.o CC mm/debug.o CC mm/list_lru.o CC mm/mprotect.o CC mm/mmu_context.o LD sound/built-in.o CC mm/rmap.o CC mm/msync.o CC mm/vmalloc.o CC mm/pagewalk.o CC mm/pgtable-generic.o CC mm/init-mm.o CC mm/nobootmem.o CC mm/memblock.o LD init/mounts.o LD init/built-in.o CC mm/dmapool.o CC mm/slub.o LD firmware/built-in.o CC kernel/fork.o LD arch/powerpc/kernel/built-in.o CC fs/open.o LD net/built-in.o CC kernel/exec_domain.o CC kernel/panic.o CC kernel/exit.o CC kernel/cpu.o CC kernel/softirq.o CC kernel/resource.o CC kernel/sysctl.o CC fs/read_write.o CC fs/file_table.o CC kernel/sysctl_binary.o CC kernel/capability.o CC fs/super.o LD virt/lib/built-in.o CC kernel/ptrace.o LD virt/built-in.o CC fs/char_dev.o CC fs/stat.o CC kernel/signal.o CC kernel/user.o CC fs/exec.o CC fs/pipe.o CC kernel/sys.o CC kernel/kmod.o CC fs/namei.o CC kernel/workqueue.o CC fs/fcntl.o CC fs/ioctl.o CC fs/readdir.o CC fs/select.o CC kernel/pid.o CC fs/dcache.o CC kernel/task_work.o CC fs/inode.o CC fs/attr.o CC kernel/extable.o CC fs/bad_inode.o CC fs/file.o CC kernel/params.o CC kernel/kthread.o LD drivers/amba/built-in.o CC lib/lockref.o LD security/built-in.o CC fs/seq_file.o CC kernel/sys_ni.o CC kernel/nsproxy.o CC fs/filesystems.o CC fs/namespace.o CC fs/xattr.o CC fs/libfs.o CC lib/bcd.o LD drivers/auxdisplay/built-in.o CC lib/div64.o CC kernel/notifier.o LD drivers/block/built-in.o CC lib/sort.o CC kernel/ksysfs.o CC lib/parser.o CC fs/fs-writeback.o CC kernel/cred.o CC fs/pnode.o CC kernel/reboot.o CC lib/halfmd4.o CC kernel/async.o LD drivers/bus/built-in.o CC fs/splice.o CC kernel/range.o CC lib/debug_locks.o CC lib/random32.o LD drivers/cdrom/built-in.o CC drivers/base/component.o CC kernel/smpboot.o CC fs/sync.o CC lib/bust_spinlocks.o CC drivers/base/core.o CC fs/utimes.o CC lib/kasprintf.o LD kernel/livepatch/built-in.o CC fs/stack.o CC lib/bitmap.o CC fs/fs_struct.o CC kernel/irq/irqdesc.o CC drivers/char/mem.o CC kernel/locking/mutex.o CC kernel/power/qos.o CC kernel/printk/printk.o CC kernel/dma.o CC kernel/rcu/update.o CC drivers/char/random.o CC lib/scatterlist.o CC fs/statfs.o CC fs/fs_pin.o CC kernel/up.o CC fs/nsfs.o CC lib/gcd.o CC lib/lcm.o CC kernel/sched/core.o CC fs/no-block.o CC kernel/irq/handle.o CC lib/list_sort.o CC kernel/elfcore.o CC kernel/memremap.o CC kernel/rcu/sync.o CC lib/uuid.o LD fs/devpts/built-in.o LD fs/exofs/built-in.o CC lib/flex_array.o CC kernel/sched/loadavg.o CC lib/clz_ctz.o CC lib/iov_iter.o LD fs/quota/built-in.o LD kernel/power/built-in.o CC kernel/sched/clock.o CC fs/binfmt_elf.o CC drivers/base/bus.o CC drivers/base/dd.o CC kernel/sched/cputime.o CC lib/bsearch.o CC lib/find_bit.o CC lib/llist.o CC kernel/time/timer.o CC drivers/char/misc.o CC kernel/time/time.o CC kernel/sched/idle_task.o LD kernel/printk/built-in.o CC kernel/time/itimer.o CC kernel/time/posix-timers.o CC kernel/time/hrtimer.o CC fs/ramfs/inode.o CC kernel/irq/manage.o LD fs/notify/fanotify/built-in.o LD fs/notify/dnotify/built-in.o CC kernel/rcu/tiny.o LD drivers/clocksource/built-in.o LD drivers/firewire/built-in.o LD fs/notify/inotify/built-in.o LD drivers/gpio/built-in.o LD drivers/clk/bcm/built-in.o CC kernel/irq/spurious.o LD fs/notify/built-in.o LD drivers/hwtracing/intel_th/built-in.o LD drivers/idle/built-in.o CC kernel/irq/resend.o CC drivers/irqchip/irqchip.o LD drivers/clk/built-in.o CC kernel/irq/devres.o CC kernel/irq/dummychip.o CC kernel/irq/irqdomain.o CC fs/ramfs/file-mmu.o CC kernel/irq/chip.o CC kernel/locking/semaphore.o LD drivers/leds/built-in.o LD drivers/i2c/busses/built-in.o LD drivers/firmware/broadcom/built-in.o LD drivers/firmware/built-in.o CC kernel/locking/rwsem.o LD drivers/hsi/clients/built-in.o CC kernel/locking/percpu-rwsem.o LD drivers/macintosh/built-in.o CC lib/memweight.o LD drivers/lguest/built-in.o LD drivers/char/agp/built-in.o LD drivers/i2c/algos/built-in.o LD drivers/i2c/muxes/built-in.o LD drivers/hsi/controllers/built-in.o CC drivers/base/driver.o CC drivers/base/syscore.o CC lib/kfifo.o CC drivers/base/class.o LD drivers/media/common/b2c2/built-in.o LD drivers/char/built-in.o LD drivers/media/firewire/built-in.o LD drivers/mfd/built-in.o CC lib/percpu_ida.o LD drivers/media/common/saa7146/built-in.o CC kernel/sched/fair.o CC lib/rhashtable.o CC lib/percpu-refcount.o LD drivers/i2c/built-in.o LD drivers/gpu/vga/built-in.o CC lib/reciprocal_div.o CC lib/once.o LD drivers/mmc/built-in.o LD drivers/net/built-in.o CC lib/hexdump.o CC lib/kstrtox.o CC lib/pci_iomap.o CC lib/string_helpers.o LD drivers/hsi/built-in.o CC lib/iomap_copy.o CC lib/devres.o CC drivers/base/platform.o LD drivers/media/common/siano/built-in.o CC drivers/base/firmware.o CC kernel/time/posix-cpu-timers.o LD drivers/gpu/drm/bridge/built-in.o CC drivers/base/cpu.o LD drivers/misc/eeprom/built-in.o LD drivers/media/common/built-in.o CC kernel/time/timekeeping.o LD drivers/misc/lis3lv02d/built-in.o CC lib/hweight.o HOSTCC lib/gen_crc32table CC lib/bitrev.o LD drivers/media/i2c/soc_camera/built-in.o LD drivers/gpu/drm/i2c/built-in.o CC drivers/base/init.o LD drivers/misc/cb710/built-in.o LD mm/built-in.o LD drivers/media/i2c/built-in.o LD drivers/media/mmc/siano/built-in.o LD drivers/media/mmc/built-in.o LD drivers/misc/mic/bus/built-in.o CC lib/syscall.o LD drivers/misc/mic/built-in.o LD drivers/media/pci/b2c2/built-in.o LD drivers/misc/ti-st/built-in.o LD drivers/media/platform/omap/built-in.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/media/platform/built-in.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/mantis/built-in.o CC kernel/sched/rt.o LD drivers/gpu/drm/tilcdc/built-in.o LD drivers/gpu/drm/panel/built-in.o LD drivers/misc/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o LD fs/ramfs/ramfs.o CC drivers/base/map.o LD drivers/nfc/built-in.o CC drivers/base/devres.o LD fs/ramfs/built-in.o LD drivers/media/pci/ngene/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o CC kernel/locking/rwsem-xadd.o CC lib/atomic64.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/pci/pluto2/built-in.o LD drivers/gpu/drm/omapdrm/displays/built-in.o CC kernel/sched/deadline.o LD drivers/media/pci/pt1/built-in.o LD drivers/media/rc/built-in.o CC kernel/sched/stop_task.o CC lib/strncpy_from_user.o LD drivers/gpu/drm/omapdrm/built-in.o LD drivers/nvme/host/built-in.o CC kernel/sched/completion.o CC lib/strnlen_user.o LD drivers/platform/built-in.o CC kernel/sched/wait.o LD drivers/media/pci/pt3/built-in.o CC drivers/base/attribute_container.o CC lib/argv_split.o LD drivers/media/tuners/built-in.o LD drivers/nvme/built-in.o LD drivers/power/built-in.o LD kernel/rcu/built-in.o LD drivers/gpu/drm/built-in.o CC kernel/time/ntp.o CC kernel/time/clocksource.o LD drivers/irqchip/built-in.o LD drivers/pwm/built-in.o CC lib/cmdline.o LD drivers/media/pci/saa7146/built-in.o CC lib/ctype.o CC lib/dec_and_lock.o CC kernel/time/jiffies.o LD drivers/soc/fsl/built-in.o CC lib/dump_stack.o CC lib/decompress.o CC drivers/base/transport_class.o CC drivers/of/base.o CC kernel/time/timer_list.o LD drivers/usb/host/built-in.o LD drivers/gpu/built-in.o CC lib/earlycpio.o LD drivers/media/pci/smipcie/built-in.o CC lib/extable.o CC lib/fdt.o CC kernel/sched/idle.o LD drivers/video/backlight/built-in.o CC lib/fdt_empty_tree.o LD drivers/soc/built-in.o LD drivers/tty/ipwireless/built-in.o CC drivers/base/topology.o CC lib/fdt_ro.o LD kernel/locking/built-in.o CC lib/fdt_rw.o CC lib/fdt_strerror.o CC lib/fdt_sw.o LD drivers/usb/built-in.o CC drivers/pci/bus.o LD drivers/media/pci/ttpci/built-in.o LD drivers/tty/serial/built-in.o CC drivers/pci/access.o CC lib/fdt_wip.o CC kernel/time/timeconv.o LD drivers/tty/vt/built-in.o LD drivers/media/usb/b2c2/built-in.o LD drivers/media/usb/dvb-usb/built-in.o CC lib/flex_proportions.o CC drivers/base/container.o CC lib/idr.o CC drivers/base/property.o CC kernel/time/timecounter.o CC drivers/base/cacheinfo.o CC lib/int_sqrt.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/pci/built-in.o CC lib/ioremap.o CC lib/irq_regs.o LD kernel/irq/built-in.o CC lib/is_single_threaded.o CC drivers/base/dma-mapping.o LD drivers/tty/built-in.o LD drivers/base/power/built-in.o LD drivers/video/fbdev/core/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/usb/siano/built-in.o LD fs/built-in.o CC drivers/pci/probe.o CC drivers/pci/host-bridge.o CC kernel/time/posix-clock.o CC kernel/time/alarmtimer.o CC lib/klist.o CC lib/kobject.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o CC lib/nmi_backtrace.o CC lib/md5.o CC lib/kobject_uevent.o CC lib/plist.o CC kernel/time/clockevents.o CC lib/proportions.o CC lib/radix-tree.o CC lib/ratelimit.o CC drivers/of/device.o LD drivers/media/usb/zr364xx/built-in.o CC drivers/of/fdt_address.o CC lib/seq_buf.o CC drivers/of/fdt.o CC lib/rbtree.o CC kernel/time/tick-common.o CC drivers/pci/remove.o CC drivers/of/platform.o LD drivers/media/usb/built-in.o CC lib/sha1.o CC lib/show_mem.o CC drivers/of/irq.o CC drivers/of/address.o CC lib/string.o CC drivers/of/of_pci_irq.o CC drivers/of/of_pci.o CC lib/timerqueue.o CC drivers/of/of_reserved_mem.o CC lib/vsprintf.o GEN lib/crc32table.h LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o CC drivers/pci/pci.o CC drivers/pci/pci-driver.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o CC lib/crc32.o CC drivers/pci/rom.o CC drivers/pci/pci-sysfs.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC drivers/pci/search.o CC drivers/pci/irq.o CC drivers/pci/setup-res.o CC drivers/pci/vpd.o LD drivers/media/built-in.o CC drivers/pci/vc.o CC drivers/pci/setup-bus.o LD drivers/video/fbdev/omap2/built-in.o CC drivers/pci/syscall.o CC drivers/pci/of.o LD drivers/pci/host/built-in.o LD drivers/video/fbdev/built-in.o LD drivers/video/built-in.o LD drivers/base/built-in.o LD kernel/time/built-in.o LD kernel/sched/built-in.o LD kernel/built-in.o LD drivers/of/built-in.o LD lib/built-in.o AR lib/lib.a LD drivers/pci/built-in.o LD drivers/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux SYSMAP System.map /opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[1]: Leaving directory '/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc' Completed OK # rm -rf /home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc # Build took: 0:00:11.738860