Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: Implement sg_printk()

Update the sg driver to use dev_printk() variants instead of
plain printk(); this will prefix logging messages with the
appropriate device.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Acked-by: Doug Gilbert <dgilbert@interlog.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>

authored by

Hannes Reinecke and committed by
Christoph Hellwig
95e159d6 96eefad2

+95 -68
+95 -68
drivers/scsi/sg.c
··· 200 200 static int sg_common_write(Sg_fd * sfp, Sg_request * srp, 201 201 unsigned char *cmnd, int timeout, int blocking); 202 202 static int sg_read_oxfer(Sg_request * srp, char __user *outp, int num_read_xfer); 203 - static void sg_remove_scat(Sg_scatter_hold * schp); 203 + static void sg_remove_scat(Sg_fd * sfp, Sg_scatter_hold * schp); 204 204 static void sg_build_reserve(Sg_fd * sfp, int req_size); 205 205 static void sg_link_reserve(Sg_fd * sfp, Sg_request * srp, int size); 206 206 static void sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp); 207 - static Sg_fd *sg_add_sfp(Sg_device * sdp, int dev); 207 + static Sg_fd *sg_add_sfp(Sg_device * sdp); 208 208 static void sg_remove_sfp(struct kref *); 209 209 static Sg_request *sg_get_rq_mark(Sg_fd * sfp, int pack_id); 210 210 static Sg_request *sg_add_request(Sg_fd * sfp); ··· 217 217 #define SZ_SG_IO_HDR sizeof(sg_io_hdr_t) 218 218 #define SZ_SG_IOVEC sizeof(sg_iovec_t) 219 219 #define SZ_SG_REQ_INFO sizeof(sg_req_info_t) 220 + 221 + #define sg_printk(prefix, sdp, fmt, a...) \ 222 + sdev_printk(prefix, (sdp)->device, "[%s] " fmt, \ 223 + (sdp)->disk->disk_name, ##a) 220 224 221 225 static int sg_allow_access(struct file *filp, unsigned char *cmd) 222 226 { ··· 280 276 int retval; 281 277 282 278 nonseekable_open(inode, filp); 283 - SCSI_LOG_TIMEOUT(3, printk("sg_open: dev=%d, flags=0x%x\n", dev, flags)); 284 279 if ((flags & O_EXCL) && (O_RDONLY == (flags & O_ACCMODE))) 285 280 return -EPERM; /* Can't lock it with read only access */ 286 281 sdp = sg_get_dev(dev); 287 282 if (IS_ERR(sdp)) 288 283 return PTR_ERR(sdp); 284 + 285 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 286 + "sg_open: flags=0x%x\n", flags)); 289 287 290 288 /* This driver's module count bumped by fops_get in <linux/fs.h> */ 291 289 /* Prevent the device driver from vanishing while we sleep */ ··· 337 331 q = sdp->device->request_queue; 338 332 sdp->sg_tablesize = queue_max_segments(q); 339 333 } 340 - sfp = sg_add_sfp(sdp, dev); 334 + sfp = sg_add_sfp(sdp); 341 335 if (IS_ERR(sfp)) { 342 336 retval = PTR_ERR(sfp); 343 337 goto out_undo; ··· 376 370 377 371 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) 378 372 return -ENXIO; 379 - SCSI_LOG_TIMEOUT(3, printk("sg_release: %s\n", sdp->disk->disk_name)); 373 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, "sg_release\n")); 380 374 381 375 mutex_lock(&sdp->open_rel_lock); 382 376 scsi_autopm_put_device(sdp->device); ··· 408 402 409 403 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) 410 404 return -ENXIO; 411 - SCSI_LOG_TIMEOUT(3, printk("sg_read: %s, count=%d\n", 412 - sdp->disk->disk_name, (int) count)); 405 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 406 + "sg_read: count=%d\n", (int) count)); 413 407 414 408 if (!access_ok(VERIFY_WRITE, buf, count)) 415 409 return -EFAULT; ··· 594 588 595 589 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) 596 590 return -ENXIO; 597 - SCSI_LOG_TIMEOUT(3, printk("sg_write: %s, count=%d\n", 598 - sdp->disk->disk_name, (int) count)); 591 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 592 + "sg_write: count=%d\n", (int) count)); 599 593 if (atomic_read(&sdp->detaching)) 600 594 return -ENODEV; 601 595 if (!((filp->f_flags & O_NONBLOCK) || ··· 616 610 return -EIO; /* The minimum scsi command length is 6 bytes. */ 617 611 618 612 if (!(srp = sg_add_request(sfp))) { 619 - SCSI_LOG_TIMEOUT(1, printk("sg_write: queue full\n")); 613 + SCSI_LOG_TIMEOUT(1, sg_printk(KERN_INFO, sdp, 614 + "sg_write: queue full\n")); 620 615 return -EDOM; 621 616 } 622 617 buf += SZ_SG_HEADER; ··· 630 623 if ((opcode >= 0xc0) && old_hdr.twelve_byte) 631 624 cmd_size = 12; 632 625 } 633 - SCSI_LOG_TIMEOUT(4, printk( 626 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sdp, 634 627 "sg_write: scsi opcode=0x%02x, cmd_size=%d\n", (int) opcode, cmd_size)); 635 628 /* Determine buffer size. */ 636 629 input_size = count - cmd_size; ··· 705 698 706 699 sfp->cmd_q = 1; /* when sg_io_hdr seen, set command queuing on */ 707 700 if (!(srp = sg_add_request(sfp))) { 708 - SCSI_LOG_TIMEOUT(1, printk("sg_new_write: queue full\n")); 701 + SCSI_LOG_TIMEOUT(1, sg_printk(KERN_INFO, sfp->parentdp, 702 + "sg_new_write: queue full\n")); 709 703 return -EDOM; 710 704 } 711 705 srp->sg_io_owned = sg_io_owned; ··· 775 767 hp->host_status = 0; 776 768 hp->driver_status = 0; 777 769 hp->resid = 0; 778 - SCSI_LOG_TIMEOUT(4, printk("sg_common_write: scsi opcode=0x%02x, cmd_size=%d\n", 779 - (int) cmnd[0], (int) hp->cmd_len)); 770 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp, 771 + "sg_common_write: scsi opcode=0x%02x, cmd_size=%d\n", 772 + (int) cmnd[0], (int) hp->cmd_len)); 780 773 781 774 k = sg_start_req(srp, cmnd); 782 775 if (k) { 783 - SCSI_LOG_TIMEOUT(1, printk("sg_common_write: start_req err=%d\n", k)); 776 + SCSI_LOG_TIMEOUT(1, sg_printk(KERN_INFO, sfp->parentdp, 777 + "sg_common_write: start_req err=%d\n", k)); 784 778 sg_finish_rem_req(srp); 785 779 return k; /* probably out of space --> ENOMEM */ 786 780 } ··· 856 846 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) 857 847 return -ENXIO; 858 848 859 - SCSI_LOG_TIMEOUT(3, printk("sg_ioctl: %s, cmd=0x%x\n", 860 - sdp->disk->disk_name, (int) cmd_in)); 849 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 850 + "sg_ioctl: cmd=0x%x\n", (int) cmd_in)); 861 851 read_only = (O_RDWR != (filp->f_flags & O_ACCMODE)); 862 852 863 853 switch (cmd_in) { ··· 909 899 sfp->low_dma = 1; 910 900 if ((0 == sfp->low_dma) && (0 == sg_res_in_use(sfp))) { 911 901 val = (int) sfp->reserve.bufflen; 912 - sg_remove_scat(&sfp->reserve); 902 + sg_remove_scat(sfp, &sfp->reserve); 913 903 sg_build_reserve(sfp, val); 914 904 } 915 905 } else { ··· 985 975 if (val != sfp->reserve.bufflen) { 986 976 if (sg_res_in_use(sfp) || sfp->mmap_called) 987 977 return -EBUSY; 988 - sg_remove_scat(&sfp->reserve); 978 + sg_remove_scat(sfp, &sfp->reserve); 989 979 sg_build_reserve(sfp, val); 990 980 } 991 981 return 0; ··· 1208 1198 res |= POLLOUT | POLLWRNORM; 1209 1199 } else if (count < SG_MAX_QUEUE) 1210 1200 res |= POLLOUT | POLLWRNORM; 1211 - SCSI_LOG_TIMEOUT(3, printk("sg_poll: %s, res=0x%x\n", 1212 - sdp->disk->disk_name, (int) res)); 1201 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 1202 + "sg_poll: res=0x%x\n", (int) res)); 1213 1203 return res; 1214 1204 } 1215 1205 ··· 1221 1211 1222 1212 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) 1223 1213 return -ENXIO; 1224 - SCSI_LOG_TIMEOUT(3, printk("sg_fasync: %s, mode=%d\n", 1225 - sdp->disk->disk_name, mode)); 1214 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 1215 + "sg_fasync: mode=%d\n", mode)); 1226 1216 1227 1217 return fasync_helper(fd, filp, mode, &sfp->async_qp); 1228 1218 } ··· 1241 1231 offset = vmf->pgoff << PAGE_SHIFT; 1242 1232 if (offset >= rsv_schp->bufflen) 1243 1233 return VM_FAULT_SIGBUS; 1244 - SCSI_LOG_TIMEOUT(3, printk("sg_vma_fault: offset=%lu, scatg=%d\n", 1245 - offset, rsv_schp->k_use_sg)); 1234 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sfp->parentdp, 1235 + "sg_vma_fault: offset=%lu, scatg=%d\n", 1236 + offset, rsv_schp->k_use_sg)); 1246 1237 sa = vma->vm_start; 1247 1238 length = 1 << (PAGE_SHIFT + rsv_schp->page_order); 1248 1239 for (k = 0; k < rsv_schp->k_use_sg && sa < vma->vm_end; k++) { ··· 1278 1267 if ((!filp) || (!vma) || (!(sfp = (Sg_fd *) filp->private_data))) 1279 1268 return -ENXIO; 1280 1269 req_sz = vma->vm_end - vma->vm_start; 1281 - SCSI_LOG_TIMEOUT(3, printk("sg_mmap starting, vm_start=%p, len=%d\n", 1282 - (void *) vma->vm_start, (int) req_sz)); 1270 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sfp->parentdp, 1271 + "sg_mmap starting, vm_start=%p, len=%d\n", 1272 + (void *) vma->vm_start, (int) req_sz)); 1283 1273 if (vma->vm_pgoff) 1284 1274 return -EINVAL; /* want no offset */ 1285 1275 rsv_schp = &sfp->reserve; ··· 1342 1330 result = rq->errors; 1343 1331 resid = rq->resid_len; 1344 1332 1345 - SCSI_LOG_TIMEOUT(4, printk("sg_cmd_done: %s, pack_id=%d, res=0x%x\n", 1346 - sdp->disk->disk_name, srp->header.pack_id, result)); 1333 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sdp, 1334 + "sg_cmd_done: pack_id=%d, res=0x%x\n", 1335 + srp->header.pack_id, result)); 1347 1336 srp->header.resid = resid; 1348 1337 ms = jiffies_to_msecs(jiffies); 1349 1338 srp->header.duration = (ms > srp->header.duration) ? ··· 1454 1441 } 1455 1442 k = error; 1456 1443 1457 - SCSI_LOG_TIMEOUT(3, printk("sg_alloc: dev=%d \n", k)); 1444 + SCSI_LOG_TIMEOUT(3, sdev_printk(KERN_INFO, scsidp, 1445 + "sg_alloc: dev=%d \n", k)); 1458 1446 sprintf(disk->disk_name, "sg%d", k); 1459 1447 disk->first_minor = k; 1460 1448 sdp->disk = disk; ··· 1575 1561 write_unlock_irqrestore(&sg_index_lock, flags); 1576 1562 1577 1563 SCSI_LOG_TIMEOUT(3, 1578 - printk("sg_device_destroy: %s\n", 1579 - sdp->disk->disk_name)); 1564 + sg_printk(KERN_INFO, sdp, "sg_device_destroy\n")); 1580 1565 1581 1566 put_disk(sdp->disk); 1582 1567 kfree(sdp); ··· 1597 1584 if (val > 1) 1598 1585 return; /* only want to do following once per device */ 1599 1586 1600 - SCSI_LOG_TIMEOUT(3, printk("%s: %s\n", __func__, 1601 - sdp->disk->disk_name)); 1587 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 1588 + "%s\n", __func__)); 1602 1589 1603 1590 read_lock_irqsave(&sdp->sfd_lock, iflags); 1604 1591 list_for_each_entry(sfp, &sdp->sfds, sfd_siblings) { ··· 1700 1687 int rw = hp->dxfer_direction == SG_DXFER_TO_DEV ? WRITE : READ; 1701 1688 unsigned char *long_cmdp = NULL; 1702 1689 1703 - SCSI_LOG_TIMEOUT(4, printk(KERN_INFO "sg_start_req: dxfer_len=%d\n", 1704 - dxfer_len)); 1690 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp, 1691 + "sg_start_req: dxfer_len=%d\n", 1692 + dxfer_len)); 1705 1693 1706 1694 if (hp->cmd_len > BLK_MAX_CDB) { 1707 1695 long_cmdp = kzalloc(hp->cmd_len, GFP_KERNEL); ··· 1800 1786 Sg_fd *sfp = srp->parentfp; 1801 1787 Sg_scatter_hold *req_schp = &srp->data; 1802 1788 1803 - SCSI_LOG_TIMEOUT(4, printk("sg_finish_rem_req: res_used=%d\n", (int) srp->res_used)); 1789 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp, 1790 + "sg_finish_rem_req: res_used=%d\n", 1791 + (int) srp->res_used)); 1804 1792 if (srp->rq) { 1805 1793 if (srp->bio) 1806 1794 ret = blk_rq_unmap_user(srp->bio); ··· 1815 1799 if (srp->res_used) 1816 1800 sg_unlink_reserve(sfp, srp); 1817 1801 else 1818 - sg_remove_scat(req_schp); 1802 + sg_remove_scat(sfp, req_schp); 1819 1803 1820 1804 sg_remove_request(sfp, srp); 1821 1805 ··· 1849 1833 ++blk_size; /* don't know why */ 1850 1834 /* round request up to next highest SG_SECTOR_SZ byte boundary */ 1851 1835 blk_size = ALIGN(blk_size, SG_SECTOR_SZ); 1852 - SCSI_LOG_TIMEOUT(4, printk("sg_build_indirect: buff_size=%d, blk_size=%d\n", 1853 - buff_size, blk_size)); 1836 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp, 1837 + "sg_build_indirect: buff_size=%d, blk_size=%d\n", 1838 + buff_size, blk_size)); 1854 1839 1855 1840 /* N.B. ret_sz carried into this block ... */ 1856 1841 mx_sc_elems = sg_build_sgat(schp, sfp, sg_tablesize); ··· 1894 1877 } 1895 1878 } 1896 1879 1897 - SCSI_LOG_TIMEOUT(5, printk("sg_build_indirect: k=%d, num=%d, " 1898 - "ret_sz=%d\n", k, num, ret_sz)); 1880 + SCSI_LOG_TIMEOUT(5, sg_printk(KERN_INFO, sfp->parentdp, 1881 + "sg_build_indirect: k=%d, num=%d, ret_sz=%d\n", 1882 + k, num, ret_sz)); 1899 1883 } /* end of for loop */ 1900 1884 1901 1885 schp->page_order = order; 1902 1886 schp->k_use_sg = k; 1903 - SCSI_LOG_TIMEOUT(5, printk("sg_build_indirect: k_use_sg=%d, " 1904 - "rem_sz=%d\n", k, rem_sz)); 1887 + SCSI_LOG_TIMEOUT(5, sg_printk(KERN_INFO, sfp->parentdp, 1888 + "sg_build_indirect: k_use_sg=%d, rem_sz=%d\n", 1889 + k, rem_sz)); 1905 1890 1906 1891 schp->bufflen = blk_size; 1907 1892 if (rem_sz > 0) /* must have failed */ ··· 1920 1901 } 1921 1902 1922 1903 static void 1923 - sg_remove_scat(Sg_scatter_hold * schp) 1904 + sg_remove_scat(Sg_fd * sfp, Sg_scatter_hold * schp) 1924 1905 { 1925 - SCSI_LOG_TIMEOUT(4, printk("sg_remove_scat: k_use_sg=%d\n", schp->k_use_sg)); 1906 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp, 1907 + "sg_remove_scat: k_use_sg=%d\n", schp->k_use_sg)); 1926 1908 if (schp->pages && schp->sglist_len > 0) { 1927 1909 if (!schp->dio_in_use) { 1928 1910 int k; 1929 1911 1930 1912 for (k = 0; k < schp->k_use_sg && schp->pages[k]; k++) { 1931 - SCSI_LOG_TIMEOUT(5, printk( 1932 - "sg_remove_scat: k=%d, pg=0x%p\n", 1933 - k, schp->pages[k])); 1913 + SCSI_LOG_TIMEOUT(5, 1914 + sg_printk(KERN_INFO, sfp->parentdp, 1915 + "sg_remove_scat: k=%d, pg=0x%p\n", 1916 + k, schp->pages[k])); 1934 1917 __free_pages(schp->pages[k], schp->page_order); 1935 1918 } 1936 1919 ··· 1948 1927 Sg_scatter_hold *schp = &srp->data; 1949 1928 int k, num; 1950 1929 1951 - SCSI_LOG_TIMEOUT(4, printk("sg_read_oxfer: num_read_xfer=%d\n", 1952 - num_read_xfer)); 1930 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, srp->parentfp->parentdp, 1931 + "sg_read_oxfer: num_read_xfer=%d\n", 1932 + num_read_xfer)); 1953 1933 if ((!outp) || (num_read_xfer <= 0)) 1954 1934 return 0; 1955 1935 ··· 1980 1958 { 1981 1959 Sg_scatter_hold *schp = &sfp->reserve; 1982 1960 1983 - SCSI_LOG_TIMEOUT(4, printk("sg_build_reserve: req_size=%d\n", req_size)); 1961 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp, 1962 + "sg_build_reserve: req_size=%d\n", req_size)); 1984 1963 do { 1985 1964 if (req_size < PAGE_SIZE) 1986 1965 req_size = PAGE_SIZE; 1987 1966 if (0 == sg_build_indirect(schp, sfp, req_size)) 1988 1967 return; 1989 1968 else 1990 - sg_remove_scat(schp); 1969 + sg_remove_scat(sfp, schp); 1991 1970 req_size >>= 1; /* divide by 2 */ 1992 1971 } while (req_size > (PAGE_SIZE / 2)); 1993 1972 } ··· 2001 1978 int k, num, rem; 2002 1979 2003 1980 srp->res_used = 1; 2004 - SCSI_LOG_TIMEOUT(4, printk("sg_link_reserve: size=%d\n", size)); 1981 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp, 1982 + "sg_link_reserve: size=%d\n", size)); 2005 1983 rem = size; 2006 1984 2007 1985 num = 1 << (PAGE_SHIFT + rsv_schp->page_order); ··· 2020 1996 } 2021 1997 2022 1998 if (k >= rsv_schp->k_use_sg) 2023 - SCSI_LOG_TIMEOUT(1, printk("sg_link_reserve: BAD size\n")); 1999 + SCSI_LOG_TIMEOUT(1, sg_printk(KERN_INFO, sfp->parentdp, 2000 + "sg_link_reserve: BAD size\n")); 2024 2001 } 2025 2002 2026 2003 static void ··· 2029 2004 { 2030 2005 Sg_scatter_hold *req_schp = &srp->data; 2031 2006 2032 - SCSI_LOG_TIMEOUT(4, printk("sg_unlink_reserve: req->k_use_sg=%d\n", 2033 - (int) req_schp->k_use_sg)); 2007 + SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, srp->parentfp->parentdp, 2008 + "sg_unlink_reserve: req->k_use_sg=%d\n", 2009 + (int) req_schp->k_use_sg)); 2034 2010 req_schp->k_use_sg = 0; 2035 2011 req_schp->bufflen = 0; 2036 2012 req_schp->pages = NULL; ··· 2136 2110 } 2137 2111 2138 2112 static Sg_fd * 2139 - sg_add_sfp(Sg_device * sdp, int dev) 2113 + sg_add_sfp(Sg_device * sdp) 2140 2114 { 2141 2115 Sg_fd *sfp; 2142 2116 unsigned long iflags; ··· 2165 2139 } 2166 2140 list_add_tail(&sfp->sfd_siblings, &sdp->sfds); 2167 2141 write_unlock_irqrestore(&sdp->sfd_lock, iflags); 2168 - SCSI_LOG_TIMEOUT(3, printk("sg_add_sfp: sfp=0x%p\n", sfp)); 2142 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 2143 + "sg_add_sfp: sfp=0x%p\n", sfp)); 2169 2144 if (unlikely(sg_big_buff != def_reserved_size)) 2170 2145 sg_big_buff = def_reserved_size; 2171 2146 2172 2147 bufflen = min_t(int, sg_big_buff, 2173 2148 max_sectors_bytes(sdp->device->request_queue)); 2174 2149 sg_build_reserve(sfp, bufflen); 2175 - SCSI_LOG_TIMEOUT(3, printk("sg_add_sfp: bufflen=%d, k_use_sg=%d\n", 2176 - sfp->reserve.bufflen, sfp->reserve.k_use_sg)); 2150 + SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 2151 + "sg_add_sfp: bufflen=%d, k_use_sg=%d\n", 2152 + sfp->reserve.bufflen, 2153 + sfp->reserve.k_use_sg)); 2177 2154 2178 2155 kref_get(&sdp->d_ref); 2179 2156 __module_get(THIS_MODULE); ··· 2194 2165 sg_finish_rem_req(sfp->headrp); 2195 2166 2196 2167 if (sfp->reserve.bufflen > 0) { 2197 - SCSI_LOG_TIMEOUT(6, 2198 - printk("sg_remove_sfp: bufflen=%d, k_use_sg=%d\n", 2168 + SCSI_LOG_TIMEOUT(6, sg_printk(KERN_INFO, sdp, 2169 + "sg_remove_sfp: bufflen=%d, k_use_sg=%d\n", 2199 2170 (int) sfp->reserve.bufflen, 2200 2171 (int) sfp->reserve.k_use_sg)); 2201 - sg_remove_scat(&sfp->reserve); 2172 + sg_remove_scat(sfp, &sfp->reserve); 2202 2173 } 2203 2174 2204 - SCSI_LOG_TIMEOUT(6, 2205 - printk("sg_remove_sfp: %s, sfp=0x%p\n", 2206 - sdp->disk->disk_name, 2207 - sfp)); 2175 + SCSI_LOG_TIMEOUT(6, sg_printk(KERN_INFO, sdp, 2176 + "sg_remove_sfp: sfp=0x%p\n", sfp)); 2208 2177 kfree(sfp); 2209 2178 2210 2179 scsi_device_put(sdp->device);