title: "Invalid module format" error getting while loading driver on different kernel version
body: <p>I have created one small usbtest driver to test my usb device. I have linux kernel version of 3.2.0 and ubuntu 12.04.</p>
  
  <p>I can load that driver successfully on my PC very well without any issue and i can use that loaded driver without any failure condition.</p>
  
  <p>My Linux PC information :: output of uname -a
  Linux ci5lub021305 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux</p>
  
  <p>Linux PC information of another PC on which driver loading failed :: uname -a
  Linux ci5lub021302 3.2.0-51-generic-pae #77-Ubuntu SMP Wed Jul 24 20:40:32 UTC 2013 i686 i686 i386 GNU/Linux</p>
  
  <p>But, When i tried to load that driver into some another Linux Platform which has different kernel version then at that time it giver following while loading that driver.</p>
  
  <p><strong>insmod: error inserting 'usbtest.ko': -1 Invalid module format</strong></p>
  
  <p>I have seen in the dmesg which shows error regarding module version</p>
  
  <p><strong>usbtest: disagrees about version of symbol module_layout</strong></p>
  
  <p>I have also seen on another forums regarding this issues and they have suggested to compile the driver again in that another PC. But it is not a proper solution which i think.</p>
  
  <p>Is there any one have idea about how to solve this version dependency issue because my client wants the driver from any kernel between 2.6.30 to 3.9 kernel.?</p>
  
  <p>So, I need some specific solution so that compiled driver can be loaded on any Linux kernel version  which depending on the specific kernel version.</p>
  
  <p>please help me solve the above issue as soon as possible because this is one critical issue for me.</p>
  
  <p>Thanks in advance for your support.</p>