element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
RIoTboard
  • Products
  • Dev Tools
  • Single-Board Computers
  • RIoTboard
  • More
  • Cancel
RIoTboard
Forum Reboot of the Linux OS run into segmentation fault
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join RIoTboard to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 6 replies
  • Subscribers 23 subscribers
  • Views 1934 views
  • Users 0 members are here
Related

Reboot of the Linux OS run into segmentation fault

Former Member
Former Member over 11 years ago

Hi all,

 

this week I got my first RIoTboard. I want to use it as a low cost workplace which features a character-terminal with sip-telephone. First I flashed the Linux and set up the system. All worked fine, also the quality of the audio is sufficient for my needs and the sip-phone works very well.

The only thing which is not working as expected is to reboot the system. If I try to shutdown the board, it always runs into an segmentation fault and stops running. The only way to reboot the system is to push the little reset button on the board or to switch the power off and on.

 

The serial output of the segmentation fault is in the attachment.

 

Can anybody help me?

 

Kind regards and thanks in advance

Attachments:
xxx.txt.zip
  • Sign in to reply
  • Cancel
Parents
  • Former Member
    0 Former Member over 11 years ago

    I solved the issue by my own. I downloaded the kernel as described in the manual and I changed the core_shutdown function as follows:

     

    file: drivers/input/touchscreen/generic_ts_rel/core_i2c.c line 633

     

    static
    void core_shutdown(struct i2c_client *client)
    {
         struct struct_core_i2c_var *core_data = i2c_get_clientdata(client);
         char *buf = (char*)core_data->cdata->pts_data;
    
         PRINT_CORE_MSG("%s: >>>>>>>>>>>>>>>>>>>\n", __FUNCTION__);
    
         if ( core_data->state == CORE_STATE_NORMAL ) {
              if ( core_data->cdata->ops.go_sleep )
                   core_data->cdata->ops.go_sleep(client, buf);
         }
    }
    

    changed to:

    static
    void core_shutdown(struct i2c_client *client)
    {
         struct struct_core_i2c_var *core_data = i2c_get_clientdata(client);
         char *buf;
         
            PRINT_CORE_MSG("%s: >>>>>>>>>>>>>>>>>>>\n", __FUNCTION__);      if (core_data != NULL) {          if (core_data->cdata != NULL) {             buf = (char*)core_data->cdata->pts_data;              if ( core_data->state == CORE_STATE_NORMAL ) {                   if ( core_data->cdata->ops.go_sleep )                        core_data->cdata->ops.go_sleep(client, buf);              }          }      } }

    I added checks for NULL pointer and the reboot works without segmentation fault. I guess that the touchscreen is not initialized as expected by the author of this code, because there is no touchscreen available, and the pointer to the core_data or the pointer to cdata is left null.

    Is there anybody who do bug fixing in this driver code. How do I share my changes to others?

     

    Martin Zeh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    Hi, thank you. I can confirm that this solution is working very well.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    Hi, thank you. I can confirm that this solution is working very well.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube