Page MenuHomeFreeBSD

Fix ig4 operation for certain machines (from DragonFly)
ClosedPublic

Authored by grembo on May 27 2016, 1:10 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 12, 1:06 AM
Unknown Object (File)
Feb 23 2024, 11:32 AM
Unknown Object (File)
Feb 23 2024, 7:19 AM
Unknown Object (File)
Dec 30 2023, 8:05 AM
Unknown Object (File)
Dec 25 2023, 3:08 PM
Unknown Object (File)
Dec 7 2023, 7:53 AM
Unknown Object (File)
Dec 4 2023, 6:47 PM
Unknown Object (File)
Nov 7 2023, 6:23 AM
Subscribers

Details

Summary

The ig4 driver was ported from DragonFly where the following
issues were found in the original driver:

  • Some machine BIOSes use the I2C bus and leave it in a state that causes interrupts to not work properly due to a pending interrupt having been latched.
  • Refactor the code a bit to clear pending interrupts when I2C is enabled. This fixes the primary problem.
  • Also fix a possible race condition in the interrupt handler where the interrupt was being cleared after reading the status instead of before.

I didn't experience those issues myself, but I received one user report
recently that sounded like it could've been caused by this issue.

It would be great to get this fix into 11.0-RELEASE before the code freeze
in two weeks from now.

Links to the original patch (thanks to @pfg for bringing this to my attention):

http://freshbsd.org/commit/dfbsd/2010e26953b9dc96ac7986666ce25b0fbe38f1ca
http://gitweb.dragonflybsd.org/dragonfly.git/commit/2010e26953b9dc96ac7986666ce25b0fbe38f1ca

Test Plan

Compiled, installed and made sure everything still worked as expected.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

grembo retitled this revision from to Fix ig4 operation for certain machines (from DragonFly).
grembo updated this object.
grembo edited the test plan for this revision. (Show Details)
grembo added reviewers: jhb, adrian.
grembo added a subscriber: pfg.
jhb edited edge metadata.

Approved once you fix the comment nit.

sys/dev/ichiic/ig4_iic.c
563 ↗(On Diff #16954)

The comment should be moved with the code and possibly updated due to its new location.

This revision is now accepted and ready to land.May 27 2016, 4:28 PM
grembo edited edge metadata.

Fix comment as pointed out by @jhb

This revision now requires review to proceed.May 28 2016, 12:04 PM
This revision was automatically updated to reflect the committed changes.