Commit c02205e9 authored by Al Viro's avatar Al Viro

dio: use probe_kernel_read()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent f9f5796e
......@@ -116,7 +116,6 @@ int __init dio_find(int deviceid)
*/
int scode, id;
u_char prid, secid, i;
mm_segment_t fs;
for (scode = 0; scode < DIO_SCMAX; scode++) {
void *va;
......@@ -135,17 +134,12 @@ int __init dio_find(int deviceid)
else
va = ioremap(pa, PAGE_SIZE);
fs = get_fs();
set_fs(KERNEL_DS);
if (get_user(i, (unsigned char *)va + DIO_IDOFF)) {
set_fs(fs);
if (probe_kernel_read(&i, (unsigned char *)va + DIO_IDOFF, 1)) {
if (scode >= DIOII_SCBASE)
iounmap(va);
continue; /* no board present at that select code */
}
set_fs(fs);
prid = DIO_ID(va);
if (DIO_NEEDSSECID(prid)) {
......@@ -170,7 +164,6 @@ int __init dio_find(int deviceid)
static int __init dio_init(void)
{
int scode;
mm_segment_t fs;
int i;
struct dio_dev *dev;
int error;
......@@ -214,18 +207,12 @@ static int __init dio_init(void)
else
va = ioremap(pa, PAGE_SIZE);
fs = get_fs();
set_fs(KERNEL_DS);
if (get_user(i, (unsigned char *)va + DIO_IDOFF)) {
set_fs(fs);
if (probe_kernel_read(&i, (unsigned char *)va + DIO_IDOFF, 1)) {
if (scode >= DIOII_SCBASE)
iounmap(va);
continue; /* no board present at that select code */
}
set_fs(fs);
/* Found a board, allocate it an entry in the list */
dev = kzalloc(sizeof(struct dio_dev), GFP_KERNEL);
if (!dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment