mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
s390/diag: fix diag26c() physical vs virtual address confusion
Fix virtual vs physical address confusion (which currently are the same). Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
124468af7e
commit
d8132003f8
|
|
@ -331,7 +331,7 @@ struct hypfs_diag0c_entry;
|
|||
*/
|
||||
struct diag_ops {
|
||||
int (*diag210)(struct diag210 *addr);
|
||||
int (*diag26c)(void *req, void *resp, enum diag26c_sc subcode);
|
||||
int (*diag26c)(unsigned long rx, unsigned long rx1, enum diag26c_sc subcode);
|
||||
int (*diag14)(unsigned long rx, unsigned long ry1, unsigned long subcode);
|
||||
int (*diag8c)(struct diag8c *addr, struct ccw_dev_id *devno, size_t len);
|
||||
void (*diag0c)(struct hypfs_diag0c_entry *entry);
|
||||
|
|
@ -342,7 +342,7 @@ extern struct diag_ops diag_amode31_ops;
|
|||
extern struct diag210 *__diag210_tmp_amode31;
|
||||
|
||||
int _diag210_amode31(struct diag210 *addr);
|
||||
int _diag26c_amode31(void *req, void *resp, enum diag26c_sc subcode);
|
||||
int _diag26c_amode31(unsigned long rx, unsigned long rx1, enum diag26c_sc subcode);
|
||||
int _diag14_amode31(unsigned long rx, unsigned long ry1, unsigned long subcode);
|
||||
void _diag0c_amode31(struct hypfs_diag0c_entry *entry);
|
||||
void _diag308_reset_amode31(void);
|
||||
|
|
|
|||
|
|
@ -265,6 +265,6 @@ EXPORT_SYMBOL(diag224);
|
|||
int diag26c(void *req, void *resp, enum diag26c_sc subcode)
|
||||
{
|
||||
diag_stat_inc(DIAG_STAT_X26C);
|
||||
return diag_amode31_ops.diag26c(req, resp, subcode);
|
||||
return diag_amode31_ops.diag26c(virt_to_phys(req), virt_to_phys(resp), subcode);
|
||||
}
|
||||
EXPORT_SYMBOL(diag26c);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user