Re: The em28xx driver error

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

 



Am 14.11.2012 18:05, schrieb Devin Heitmueller:
> On Wed, Nov 14, 2012 at 11:58 AM, Frank Schäfer
> <fschaefer.oss@xxxxxxxxxxxxxx> wrote:
>> This looks indeed like a bug.
>> a >>= b means a = a >> b, which in this case means shifting height 480
>> or 576 bits to the right...
>> height >> 1 means height /= 2 which seems to be sane for interlaced devices.
>> OTOH, I wonder why it seems to be working on other platforms !?
>> Unfortunately I don't have an interlaced device here for testing. :(
> It's definitely a bug.  I think Mauro put a patch in for 3.7 or 3.8.
> The reason it works under x86 is because shifting an arbitrary number
> of bits > 32 causes indeterminate behavior, and out of dumb luck it
> has no effect on x86.
>
> But yeah, I changed the code to shift by one bit and it's been working
> fine on ARM for months in my environment (DM3730).
>
> Devin
Hmm... I've made some experiments to find out what gcc does on x86 and
it seems to ignore bit shifting > 32.
I also noticed that this line has been removed in 3.7-rc.
So we do NOT want to halve the height for interlaced devices here, right ?

Regards,
Frank
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux