13 #define KMSG_COMPONENT "tape"
14 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
16 #include <linux/stddef.h>
17 #include <linux/kernel.h>
21 #include <asm/types.h>
26 #define TAPE_DBF_AREA tape_core_dbf
35 tape_std_assign_timeout(
unsigned long data)
45 DBF_EVENT(3,
"%08x: Assignment timeout. Device busy.\n",
49 DBF_EVENT(3,
"(%08x): Assign timeout: Cancel failed with rc = "
62 return PTR_ERR(request);
74 timeout.
function = tape_std_assign_timeout;
75 timeout.
data = (
unsigned long) request;
84 DBF_EVENT(3,
"%08x: assign failed - device might be busy\n",
103 DBF_EVENT(3,
"(%08x): Can't unassign device\n",
110 return PTR_ERR(request);
116 if ((rc =
tape_do_io(device, request)) != 0) {
135 if (IS_ERR(request)) {
136 DBF_EVENT(3,
"TAPE: load display failed\n");
137 return PTR_ERR(request);
166 return PTR_ERR(request);
220 DBF_LH(6,
"tape_std_mtsetblk(%d)\n", count);
231 device->
char_data.idal_buf->size == count)
236 DBF_EVENT(3,
"Invalid block size (%d > %d) given.\n",
242 new = idal_buffer_alloc(count, 0);
246 idal_buffer_free(device->
char_data.idal_buf);
278 return PTR_ERR(request);
284 ccw = tape_ccw_end(ccw,
NOP, 0,
NULL);
287 return tape_do_io_free(device, request);
303 return PTR_ERR(request);
309 ccw = tape_ccw_end(ccw,
NOP, 0,
NULL);
313 if (rc == 0 && request->
rescnt > 0) {
314 DBF_LH(3,
"FSR over tapemark\n");
335 return PTR_ERR(request);
341 ccw = tape_ccw_end(ccw,
NOP, 0,
NULL);
345 if (rc == 0 && request->
rescnt > 0) {
346 DBF_LH(3,
"BSR over tapemark\n");
365 return PTR_ERR(request);
371 ccw = tape_ccw_end(ccw,
NOP, 0,
NULL);
374 return tape_do_io_free(device, request);
390 return PTR_ERR(request);
396 ccw = tape_ccw_end(ccw,
NOP, 0,
NULL);
399 return tape_do_io_free(device, request);
415 return PTR_ERR(request);
421 ccw = tape_ccw_end(ccw,
NOP, 0,
NULL);
423 rc = tape_do_io_free(device, request);
446 return PTR_ERR(request);
452 ccw = tape_ccw_end(ccw,
NOP, 0,
NULL);
454 rc = tape_do_io_free(device, request);
474 return PTR_ERR(request);
483 return tape_do_io_free(device, request);
497 return PTR_ERR(request);
505 return tape_do_io_free(device, request);
518 return PTR_ERR(request);
524 return tape_do_io_free(device, request);
569 return PTR_ERR(request);
592 return PTR_ERR(request);
603 return tape_do_io_free(device, request);
624 if (mt_count < 0 || mt_count > 1) {
630 return PTR_ERR(request);
640 return tape_do_io_free(device, request);
656 if (IS_ERR(request)) {
696 if (IS_ERR(request)) {