Lines Matching refs:us
35 static void pdump(struct us_data *us, void *ibuffer, int length);
110 static int init_freecom(struct us_data *us);
152 freecom_readdata (struct scsi_cmnd *srb, struct us_data *us,
156 (struct freecom_xfer_wrap *) us->iobuf;
164 usb_stor_dbg(us, "Read data Freecom! (c=%d)\n", count);
167 result = usb_stor_bulk_transfer_buf (us, opipe, fxfr,
170 usb_stor_dbg(us, "Freecom readdata transport error\n");
175 usb_stor_dbg(us, "Start of read\n");
176 result = usb_stor_bulk_srb(us, ipipe, srb);
177 usb_stor_dbg(us, "freecom_readdata done!\n");
185 freecom_writedata (struct scsi_cmnd *srb, struct us_data *us,
189 (struct freecom_xfer_wrap *) us->iobuf;
197 usb_stor_dbg(us, "Write data Freecom! (c=%d)\n", count);
200 result = usb_stor_bulk_transfer_buf (us, opipe, fxfr,
203 usb_stor_dbg(us, "Freecom writedata transport error\n");
208 usb_stor_dbg(us, "Start of write\n");
209 result = usb_stor_bulk_srb(us, opipe, srb);
211 usb_stor_dbg(us, "freecom_writedata done!\n");
221 static int freecom_transport(struct scsi_cmnd *srb, struct us_data *us)
230 fcb = (struct freecom_cb_wrap *) us->iobuf;
231 fst = (struct freecom_status *) us->iobuf;
233 usb_stor_dbg(us, "Freecom TRANSPORT STARTED\n");
236 opipe = us->send_bulk_pipe;
237 ipipe = us->recv_bulk_pipe;
245 US_DEBUG(pdump(us, srb->cmnd, 12));
248 result = usb_stor_bulk_transfer_buf (us, opipe, fcb,
257 usb_stor_dbg(us, "freecom transport error\n");
263 * doesn't hurt us to always do it now.
265 result = usb_stor_bulk_transfer_buf (us, ipipe, fst,
267 usb_stor_dbg(us, "foo Status result %d %u\n", result, partial);
271 US_DEBUG(pdump(us, (void *)fst, partial));
283 usb_stor_dbg(us, "20 second USB/ATAPI bridge TIMEOUT occurred!\n");
284 usb_stor_dbg(us, "fst->Status is %x\n", fst->Status);
293 result = usb_stor_bulk_transfer_buf (us, opipe, fcb,
302 usb_stor_dbg(us, "freecom transport error\n");
307 result = usb_stor_bulk_transfer_buf (us, ipipe, fst,
310 usb_stor_dbg(us, "bar Status result %d %u\n", result, partial);
314 US_DEBUG(pdump(us, (void *)fst, partial));
320 usb_stor_dbg(us, "operation failed\n");
329 usb_stor_dbg(us, "Device indicates that it has %d bytes available\n",
331 usb_stor_dbg(us, "SCSI requested %d\n", scsi_bufflen(srb));
348 usb_stor_dbg(us, "Truncating request to match buffer length: %d\n",
357 switch (us->srb->sc_data_direction) {
367 usb_stor_dbg(us, "SCSI wants data, drive doesn't have any\n");
370 result = freecom_readdata (srb, us, ipipe, opipe, length);
374 usb_stor_dbg(us, "Waiting for status\n");
375 result = usb_stor_bulk_transfer_buf (us, ipipe, fst,
377 US_DEBUG(pdump(us, (void *)fst, partial));
382 usb_stor_dbg(us, "operation failed\n");
386 usb_stor_dbg(us, "Drive seems still hungry\n");
389 usb_stor_dbg(us, "Transfer happy\n");
398 * send us data.
401 result = freecom_writedata (srb, us, ipipe, opipe, length);
405 usb_stor_dbg(us, "Waiting for status\n");
406 result = usb_stor_bulk_transfer_buf (us, ipipe, fst,
412 usb_stor_dbg(us, "operation failed\n");
416 usb_stor_dbg(us, "Drive seems still hungry\n");
420 usb_stor_dbg(us, "Transfer happy\n");
430 usb_stor_dbg(us, "freecom unimplemented direction: %d\n",
431 us->srb->sc_data_direction);
440 static int init_freecom(struct us_data *us)
443 char *buffer = us->iobuf;
450 result = usb_stor_control_msg(us, us->recv_ctrl_pipe,
453 usb_stor_dbg(us, "String returned from FC init is: %s\n", buffer);
463 result = usb_stor_control_msg(us, us->send_ctrl_pipe,
465 usb_stor_dbg(us, "result from activate reset is %d\n", result);
471 result = usb_stor_control_msg(us, us->send_ctrl_pipe,
473 usb_stor_dbg(us, "result from clear reset is %d\n", result);
481 static int usb_stor_freecom_reset(struct us_data *us)
490 static void pdump(struct us_data *us, void *ibuffer, int length)
510 usb_stor_dbg(us, "%s\n", line);
537 usb_stor_dbg(us, "%s\n", line);
547 struct us_data *us;
550 result = usb_stor_probe1(&us, intf, id,
556 us->transport_name = "Freecom";
557 us->transport = freecom_transport;
558 us->transport_reset = usb_stor_freecom_reset;
559 us->max_lun = 0;
561 result = usb_stor_probe2(us);