History

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley: "This is a set of four bug fixes. The isci one is an obvious thinko (using request buffer instead of response buffer) which causes a command to fail. The three others are DIF/DIX updates which are required because they're part of a series of ten patches, the other seven of which went into the block layer during the merge window meaning our current DIF/DIX implementation is broken without these three. Signed-off-by: James Bottomley <JBottomley@Parallels.com>" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] sd: Implement support for WRITE SAME [SCSI] sd: Permit merged discard requests [SCSI] Add a report opcode helper [SCSI] isci: copy fis 0x34 response into proper buffer

Linus Torvalds committed 13 years ago

Commit a2d2eda2 parents 0e0f092 5db44869 files · +263 −29Browse files

Showing the changes to include (1 of 9 files). Show all

Unified · Split

include/scsi/scsi_device.h+4−0
@@ -135,6 +135,8 @@ struct scsi_device { · 134 unmodified lines
135135 * because we did a bus reset. */
136136 unsigned use_10_for_rw:1; /* first try 10-byte read / write */
137137 unsigned use_10_for_ms:1; /* first try 10-byte mode sense/select */
138+ unsigned no_report_opcodes:1; /* no REPORT SUPPORTED OPERATION CODES */
139+ unsigned no_write_same:1; /* no WRITE SAME command */
138140 unsigned skip_ms_page_8:1; /* do not use MODE SENSE page 0x08 */
139141 unsigned skip_ms_page_3f:1; /* do not use MODE SENSE page 0x3f */
140142 unsigned skip_vpd_pages:1; /* do not read VPD pages */
@@ -362,6 +364,8 @@ extern int scsi_test_unit_ready(struct scsi_device *sdev, int timeout, · 221 unmodified lines
362364 int retries, struct scsi_sense_hdr *sshdr);
363365 extern int scsi_get_vpd_page(struct scsi_device *, u8 page, unsigned char *buf,
364366 int buf_len);
367+extern int scsi_report_opcode(struct scsi_device *sdev, unsigned char *buffer,
368+ unsigned int len, unsigned char opcode);
365369 extern int scsi_device_set_state(struct scsi_device *sdev,
366370 enum scsi_device_state state);
367371 extern struct scsi_event *sdev_evt_alloc(enum scsi_device_event evt_type,