~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to Documentation/scsi/scsi_mid_low_api.txt

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1343
1343
                   underruns (overruns should be rare). If possible an LLD
1344
1344
                   should set 'resid' prior to invoking 'done'. The most
1345
1345
                   interesting case is data transfers from a SCSI target
1346
 
                   device device (i.e. READs) that underrun. 
 
1346
                   device (e.g. READs) that underrun.
1347
1347
    underflow    - LLD should place (DID_ERROR << 16) in 'result' if
1348
1348
                   actual number of bytes transferred is less than this
1349
1349
                   figure. Not many LLDs implement this check and some that
1351
1351
                   report a DID_ERROR. Better for an LLD to implement
1352
1352
                   'resid'.
1353
1353
 
 
1354
It is recommended that a LLD set 'resid' on data transfers from a SCSI
 
1355
target device (e.g. READs). It is especially important that 'resid' is set
 
1356
when such data transfers have sense keys of MEDIUM ERROR and HARDWARE ERROR
 
1357
(and possibly RECOVERED ERROR). In these cases if a LLD is in doubt how much
 
1358
data has been received then the safest approach is to indicate no bytes have
 
1359
been received. For example: to indicate that no valid data has been received
 
1360
a LLD might use these helpers:
 
1361
    scsi_set_resid(SCpnt, scsi_bufflen(SCpnt));
 
1362
where 'SCpnt' is a pointer to a scsi_cmnd object. To indicate only three 512
 
1363
bytes blocks has been received 'resid' could be set like this:
 
1364
    scsi_set_resid(SCpnt, scsi_bufflen(SCpnt) - (3 * 512));
 
1365
 
1354
1366
The scsi_cmnd structure is defined in include/scsi/scsi_cmnd.h
1355
1367
 
1356
1368