Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 211196
b: refs/heads/master
c: 0bbba38
h: refs/heads/master
v: v3
  • Loading branch information
Huang Ying authored and Len Brown committed Sep 29, 2010
1 parent 361afd5 commit 43acc16
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0c827eebfcd5caad24a50bc514ef15476b086e47
refs/heads/master: 0bbba38a61283a55f2061ab3e0910c572d19f462
23 changes: 20 additions & 3 deletions trunk/drivers/acpi/apei/erst.c
Original file line number Diff line number Diff line change
Expand Up @@ -266,13 +266,30 @@ static int erst_exec_move_data(struct apei_exec_context *ctx,
{
int rc;
u64 offset;
void *src, *dst;

/* ioremap does not work in interrupt context */
if (in_interrupt()) {
pr_warning(ERST_PFX
"MOVE_DATA can not be used in interrupt context");
return -EBUSY;
}

rc = __apei_exec_read_register(entry, &offset);
if (rc)
return rc;
memmove((void *)ctx->dst_base + offset,
(void *)ctx->src_base + offset,
ctx->var2);

src = ioremap(ctx->src_base + offset, ctx->var2);
if (!src)
return -ENOMEM;
dst = ioremap(ctx->dst_base + offset, ctx->var2);
if (!dst)
return -ENOMEM;

memmove(dst, src, ctx->var2);

iounmap(src);
iounmap(dst);

return 0;
}
Expand Down

0 comments on commit 43acc16

Please sign in to comment.