Re: [PATCH-stable-3.0-3.6 1/2] staging: comedi: ni_labpc: correct differential channel sequence for AI commands

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2013-02-27 at 12:52 +0000, Ian Abbott wrote:
> Commit 4c4bc25d0fa6beaf054c0b4c3b324487f266c820 upstream.
> 
> Tuomas <tvainikk _at_ gmail _dot_ com> reported problems getting
> meaningful output from a Lab-PC+ in differential mode for AI cmds, but
> AI insn reads gave correct readings.  He tracked it down to two
> problems, one of which is addressed by this patch.
> 
> It seems the setting of the channel bits for particular scanning modes
> was incorrect for differential mode.  (Only half the number of channels
> are available in differential mode; comedi refers to them as channels 0,
> 1, 2 and 3, but the hardware documentation refers to them as channels 0,
> 2, 4 and 6.)  In differential mode, the setting of the channel enable
> bits in the command1 register should depend on whether the scan enable
> bit is set.  Effectively, we need to double the comedi channel number
> when the scan enable bit is not set in differential mode.  The scan
> enable bit gets set when the AI scan mode is `MODE_MULT_CHAN_UP` or
> `MODE_MULT_CHAN_DOWN`, and gets cleared when the AI scan mode is
> `MODE_SINGLE_CHAN` or `MODE_SINGLE_CHAN_INTERVAL`.  The existing test
> for whether the comedi channel number needs to be doubled in
> differential mode is incorrect in `labpc_ai_cmd()`.  This patch corrects
> the test.
> 
> Thanks to Tuomas for suggesting the fix.
> 
> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
> ---
> Applies to stable/longterm kernels 3.0.x to 3.6.x inclusive.
[...]

I've queued up both of these for 3.2, thanks.

Ben.

-- 
Ben Hutchings
Computers are not intelligent.	They only think they are.

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]