summaryrefslogtreecommitdiff
path: root/arch/x86/mm/ioremap.c
diff options
context:
space:
mode:
authorDavid Matlack <dmatlack@google.com>2015-05-11 20:40:36 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-05-13 16:13:24 -0700
commit36bf51acc89d113f101e40f40af4ab53fbf5b60a (patch)
tree42ad9e9ddb8fc97eef573884f636468340ad46ca /arch/x86/mm/ioremap.c
parenteafe600205cb9299bf32a3117e03046f09a71190 (diff)
staging: slicoss: fix occasionally writing out only half of a dma address
curaddrupper caches the last written upper 32-bits of a dma address (the device has one register for the upper 32-bits of all dma address registers). The problem is, not every dma address write checks and sets curaddrupper. This causes the driver to occasionally not write the upper 32-bits of a dma address to the device when it really should. I've seen this manifest particularly when the driver is trying to read config data from the device (RCONFIG) in order to checksum the device's eeprom. Since the device writes its config data to the wrong DMA address the driver reads 0 as the eeprom size and the eeprom checksum fails. This patch fixes the issue by removing curaddrupper and always writing the upper 32-bits of dma addresses. Signed-off-by: David Matlack <dmatlack@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/mm/ioremap.c')
0 files changed, 0 insertions, 0 deletions