Summary:ASTERISK-04411: [patch] pciradio.c does not compile
Reporter:sailer (sailer)Labels:
Date Opened:2005-06-14 04:05:53Date Closed:2011-06-07 14:02:46
Versions:Frequency of
Environment:Attachments:( 0) pciradio.patch.txt
Description:pciradio.c does not compile as of CVS 2005-06-14, on Fedora Core 4 (kernel-2.6.11-1.1369_FC4, gcc-4.0.0-8).

See attached patch to fix this. flags should be long, not int. int flags causes save_flags(&flags) to be compiled to pushfq; popq %edx, the latter not being a valid x86_64 instruction.
Comments:By: Tilghman Lesher (tilghman) 2005-06-14 08:36:02

Where did you get your radio board, or did you build it yourself?

By: sailer (sailer) 2005-06-14 08:48:07

I don't have such a card, I just tried to compile zaptel and it bombed

By: Tilghman Lesher (tilghman) 2005-06-14 11:41:50

I'm kind of nervous about any fix for hardware drivers which is not tested on the hardware itself.  Possibly a better solution would be to make the compilation of the pciradio driver optional (in the Makefile).  That will solve your issue, without changing the currently-working driver.

By: sailer (sailer) 2005-06-14 12:48:50

I thought the idea is to fix bugs when they are found, instead of stacking kludge over workaround? Especially in a development version?

save_flags and friends is clearly documented to take a long flags, see for example  linux/Documentation/cli-sti-removal.txt and linux/Documentation/spinlocks.txt.

By: Tilghman Lesher (tilghman) 2005-06-14 13:50:49

If you can test it on the hardware, I'll consider it a fix.  If not, then your patch is a kludge that just happens to compile on your platform.

As you said, we want fixes, not kludges.

By: Mark Spencer (markster) 2005-06-16 20:55:42

Fixed in CVS head.

By: Michael Jerris (mikej) 2005-06-17 06:44:38

pciradio.c does not exist in 1-0 branch