diff -rc ppscsi-beta2/ppscsi.c ppscsi.jk/ppscsi.c *** ppscsi-beta2/ppscsi.c 2005-10-16 17:49:35.000000000 +0300 --- ppscsi.jk/ppscsi.c 2008-05-07 11:06:54.000000000 +0300 *************** *** 483,489 **** if ((!pha->cur_len) && pha->sg_count) { pha->sg_count--; pha->sg_list++; ! pha->cur_buf = page_address(pha->sg_list->page) + pha->sg_list->offset; pha->cur_len = pha->sg_list->length; } } --- 483,489 ---- if ((!pha->cur_len) && pha->sg_count) { pha->sg_count--; pha->sg_list++; ! pha->cur_buf = sg_virt(pha->sg_list); /* page_address(pha->sg_list->page) + pha->sg_list->offset; */ pha->cur_len = pha->sg_list->length; } } *************** *** 570,576 **** pha->sg_count--; pha->sg_list = (struct scatterlist *)pha->cur_cmd->request_buffer; ! pha->cur_buf = page_address(pha->sg_list->page) + pha->sg_list->offset; pha->cur_len = pha->sg_list->length; } else { pha->cur_buf = pha->cur_cmd->request_buffer; --- 570,576 ---- pha->sg_count--; pha->sg_list = (struct scatterlist *)pha->cur_cmd->request_buffer; ! pha->cur_buf = sg_virt(pha->sg_list); /* page_address(pha->sg_list->page) + pha->sg_list->offset; */ pha->cur_len = pha->sg_list->length; } else { pha->cur_buf = pha->cur_cmd->request_buffer; *************** *** 1145,1151 **** pha->device[p+1] = '0' + i; pha->device[p+2] = 0; ! INIT_WORK(&pha->wq, ppsc_tq_int, pha); init_timer (&pha->timer); pha->timer.data = (unsigned long) pha; --- 1145,1151 ---- pha->device[p+1] = '0' + i; pha->device[p+2] = 0; ! INIT_WORK(&pha->wq, ppsc_tq_int); init_timer (&pha->timer); pha->timer.data = (unsigned long) pha; diff -rc ppscsi-beta2/ppscsi.h ppscsi.jk/ppscsi.h *** ppscsi-beta2/ppscsi.h 2006-04-24 21:08:20.000000000 +0300 --- ppscsi.jk/ppscsi.h 2008-05-07 11:06:54.000000000 +0300 *************** *** 13,19 **** #define PPSC_H_VERSION "0.92" #include ! #include #include #include #include --- 13,19 ---- #define PPSC_H_VERSION "0.92" #include ! #include #include #include #include