Bug 232554

Summary: iprowifi2100: broken tx fix [patch]
Product: Base System Reporter: gl00my
Component: kernAssignee: Gleb Smirnoff <glebius>
Status: Closed FIXED    
Severity: Affects Only Me CC: glebius, net
Priority: --- Keywords: patch, regression
Version: CURRENTFlags: koobs: mfc-stable11+
Hardware: Any   
OS: Any   
Attachments:
Description Flags
iprowifi2100: fix the broken tx none

Description gl00my 2018-10-23 05:51:38 UTC
Created attachment 198486 [details]
iprowifi2100: fix the broken tx

This fix work of iprowifi2100 that was broken here: 

https://github.com/freebsd/freebsd/commit/619aca846fad0cf56fcd9c3374008f26a6f98b24

This condition (sc->txfree < 1 + IPW_MAX_NSEG) was never true. 

Original code used this for error case:

if (sc->txfree < 1 + IPW_MAX_NSEG) {
	IFQ_DRV_PREPEND(&ifp->if_snd, m);
	ifp->if_drv_flags |= IFF_DRV_OACTIVE;
	break;
}

Hope, it helps...
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2018-10-23 06:22:13 UTC
Cc: glebius@ as the committer of r287197 (equivalent to the github commit below)
Comment 2 Gleb Smirnoff freebsd_committer freebsd_triage 2018-10-23 12:45:32 UTC
Before my commit the logic was the same.
Comment 3 Gleb Smirnoff freebsd_committer freebsd_triage 2018-10-23 12:47:04 UTC
Sorry, of course I reverted the logic. Will fix.
Comment 4 commit-hook freebsd_committer freebsd_triage 2018-10-23 12:54:11 UTC
A commit references this bug:

Author: glebius
Date: Tue Oct 23 12:53:09 UTC 2018
New revision: 339643
URL: https://svnweb.freebsd.org/changeset/base/339643

Log:
  Fix ipw_start(), where logic was reverted in r287197.

  PR:		232554
  Submitted by:	gl00my@mail.ru

Changes:
  head/sys/dev/ipw/if_ipw.c
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-10-31 23:06:10 UTC
A commit references this bug:

Author: glebius
Date: Wed Oct 31 23:05:44 UTC 2018
New revision: 339976
URL: https://svnweb.freebsd.org/changeset/base/339976

Log:
  MFhead r339643:

    Fix ipw_start(), where logic was reverted in r287197.

  PR:		232554

Changes:
_U  stable/11/
  stable/11/sys/dev/ipw/if_ipw.c