mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-15 15:15:47 +00:00
s390/qeth: simplify fragment type selection
Improve readability of the code that determines a buffer element's fragment type, and reduce the number of cases down from 5 to 3. Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com> Acked-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
699d3fe537
commit
5258830bf6
1 changed files with 8 additions and 15 deletions
|
@ -3918,23 +3918,16 @@ static inline void __qeth_fill_buffer(struct sk_buff *skb,
|
|||
buffer->element[element].addr = data;
|
||||
buffer->element[element].length = length_here;
|
||||
length -= length_here;
|
||||
if (!length) {
|
||||
if (first_lap)
|
||||
if (skb_shinfo(skb)->nr_frags)
|
||||
buffer->element[element].eflags =
|
||||
SBAL_EFLAGS_FIRST_FRAG;
|
||||
else
|
||||
buffer->element[element].eflags = 0;
|
||||
else
|
||||
if (first_lap) {
|
||||
if (length || skb_is_nonlinear(skb))
|
||||
/* skb needs additional elements */
|
||||
buffer->element[element].eflags =
|
||||
SBAL_EFLAGS_MIDDLE_FRAG;
|
||||
SBAL_EFLAGS_FIRST_FRAG;
|
||||
else
|
||||
buffer->element[element].eflags = 0;
|
||||
} else {
|
||||
if (first_lap)
|
||||
buffer->element[element].eflags =
|
||||
SBAL_EFLAGS_FIRST_FRAG;
|
||||
else
|
||||
buffer->element[element].eflags =
|
||||
SBAL_EFLAGS_MIDDLE_FRAG;
|
||||
buffer->element[element].eflags =
|
||||
SBAL_EFLAGS_MIDDLE_FRAG;
|
||||
}
|
||||
data += length_here;
|
||||
element++;
|
||||
|
|
Loading…
Reference in a new issue