Revision 729739b754affa482e92fa7836e4066096089d11 authored by Alexander Duyck on 08 February 2012, 07:51:06 UTC, committed by Jeff Kirsher on 17 March 2012, 08:41:49 UTC
This change makes it so that we always write the DMA address for the skb
itself on the same tx_buffer struct that the skb is written on.  This way
we don't need the MAPPED_AS_PAGE flag and we always know it will be the
first DMA value that we will have to unmap.

In addition I have found an issue in which we were leaking a DMA mapping if
the value happened to be 0 which is possible on some platforms.  In order
to resolve that I have updated the transmit path to use the length instead
of the DMA mapping in order to determine if a mapping is actually present.

One other tweak in this patch is that it only writes the olinfo information
on the first descriptor.  As it turns out it isn't necessary to write it
for anything but the first descriptor so there is no need to carry it
forward.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
1 parent 091a624
History
File Mode Size
aacraid
aic7xxx
aic7xxx_old
aic94xx
arcmsr
arm
be2iscsi
bfa
bnx2fc
bnx2i
cxgbi
device_handler
dpt
fcoe
fnic
ibmvscsi
isci
libfc
libsas
lpfc
megaraid
mpt2sas
mvsas
osd
pcmcia
pm8001
qla2xxx
qla4xxx
sym53c8xx_2
.gitignore -rw-r--r-- 11 bytes
3w-9xxx.c -rw-r--r-- 76.3 KB
3w-9xxx.h -rw-r--r-- 25.8 KB
3w-sas.c -rw-r--r-- 59.1 KB
3w-sas.h -rw-r--r-- 13.7 KB
3w-xxxx.c -rw-r--r-- 83.8 KB
3w-xxxx.h -rw-r--r-- 16.4 KB
53c700.c -rw-r--r-- 69.4 KB
53c700.h -rw-r--r-- 16.3 KB
53c700.scr -rw-r--r-- 10.6 KB
53c700_d.h_shipped -rw-r--r-- 28.2 KB
BusLogic.c -rw-r--r-- 148.0 KB
BusLogic.h -rw-r--r-- 40.0 KB
FlashPoint.c -rw-r--r-- 195.8 KB
Kconfig -rw-r--r-- 68.7 KB
Makefile -rw-r--r-- 7.5 KB
NCR5380.c -rw-r--r-- 91.1 KB
NCR5380.h -rw-r--r-- 13.6 KB
NCR53c406a.c -rw-r--r-- 28.1 KB
NCR_D700.c -rw-r--r-- 10.4 KB
NCR_D700.h -rw-r--r-- 801 bytes
NCR_Q720.c -rw-r--r-- 9.2 KB
NCR_Q720.h -rw-r--r-- 597 bytes
a100u2w.c -rw-r--r-- 36.1 KB
a100u2w.h -rw-r--r-- 16.5 KB
a2091.c -rw-r--r-- 6.5 KB
a2091.h -rw-r--r-- 1.5 KB
a3000.c -rw-r--r-- 7.2 KB
a3000.h -rw-r--r-- 1.6 KB
a4000t.c -rw-r--r-- 3.4 KB
advansys.c -rw-r--r-- 374.6 KB
aha152x.c -rw-r--r-- 99.2 KB
aha152x.h -rw-r--r-- 9.9 KB
aha1542.c -rw-r--r-- 48.5 KB
aha1542.h -rw-r--r-- 4.7 KB
aha1740.c -rw-r--r-- 19.2 KB
aha1740.h -rw-r--r-- 4.8 KB
aic7xxx_old.c -rw-r--r-- 357.9 KB
atari_NCR5380.c -rw-r--r-- 90.6 KB
atari_scsi.c -rw-r--r-- 34.7 KB
atari_scsi.h -rw-r--r-- 5.7 KB
atp870u.c -rw-r--r-- 84.6 KB
atp870u.h -rw-r--r-- 1.5 KB
bvme6000_scsi.c -rw-r--r-- 3.3 KB
ch.c -rw-r--r-- 24.3 KB
constants.c -rw-r--r-- 50.9 KB
dc395x.c -rw-r--r-- 141.4 KB
dc395x.h -rw-r--r-- 25.2 KB
dmx3191d.c -rw-r--r-- 4.4 KB
dpt_i2o.c -rw-r--r-- 94.8 KB
dpti.h -rw-r--r-- 11.5 KB
dtc.c -rw-r--r-- 13.0 KB
dtc.h -rw-r--r-- 2.6 KB
eata.c -rw-r--r-- 76.5 KB
eata_generic.h -rw-r--r-- 14.6 KB
eata_pio.c -rw-r--r-- 27.3 KB
eata_pio.h -rw-r--r-- 2.1 KB
esp_scsi.c -rw-r--r-- 64.8 KB
esp_scsi.h -rw-r--r-- 21.2 KB
fd_mcs.c -rw-r--r-- 38.8 KB
fdomain.c -rw-r--r-- 55.8 KB
fdomain.h -rw-r--r-- 1.1 KB
g_NCR5380.c -rw-r--r-- 25.5 KB
g_NCR5380.h -rw-r--r-- 3.4 KB
g_NCR5380_mmio.c -rw-r--r-- 232 bytes
gdth.c -rw-r--r-- 174.7 KB
gdth.h -rw-r--r-- 46.3 KB
gdth_ioctl.h -rw-r--r-- 14.5 KB
gdth_proc.c -rw-r--r-- 26.4 KB
gdth_proc.h -rw-r--r-- 900 bytes
gvp11.c -rw-r--r-- 10.6 KB
gvp11.h -rw-r--r-- 1.2 KB
hosts.c -rw-r--r-- 13.9 KB
hpsa.c -rw-r--r-- 129.6 KB
hpsa.h -rw-r--r-- 10.5 KB
hpsa_cmd.h -rw-r--r-- 9.5 KB
hptiop.c -rw-r--r-- 34.4 KB
hptiop.h -rw-r--r-- 7.8 KB
ibmmca.c -rw-r--r-- 85.1 KB
imm.c -rw-r--r-- 28.9 KB
imm.h -rw-r--r-- 4.9 KB
in2000.c -rw-r--r-- 71.8 KB
in2000.h -rw-r--r-- 13.5 KB
initio.c -rw-r--r-- 81.4 KB
initio.h -rw-r--r-- 29.3 KB
ipr.c -rw-r--r-- 258.1 KB
ipr.h -rw-r--r-- 48.4 KB
ips.c -rw-r--r-- 235.7 KB
ips.h -rw-r--r-- 42.0 KB
iscsi_boot_sysfs.c -rw-r--r-- 16.3 KB
iscsi_tcp.c -rw-r--r-- 27.5 KB
iscsi_tcp.h -rw-r--r-- 1.9 KB
jazz_esp.c -rw-r--r-- 5.4 KB
lasi700.c -rw-r--r-- 4.7 KB
libiscsi.c -rw-r--r-- 90.6 KB
libiscsi_tcp.c -rw-r--r-- 31.9 KB
libsrp.c -rw-r--r-- 10.5 KB
mac53c94.c -rw-r--r-- 15.0 KB
mac53c94.h -rw-r--r-- 4.9 KB
mac_esp.c -rw-r--r-- 15.6 KB
mac_scsi.c -rw-r--r-- 14.3 KB
mac_scsi.h -rw-r--r-- 1.6 KB
megaraid.c -rw-r--r-- 113.8 KB
megaraid.h -rw-r--r-- 28.6 KB
mesh.c -rw-r--r-- 52.7 KB
mesh.h -rw-r--r-- 3.9 KB
mvme147.c -rw-r--r-- 3.9 KB
mvme147.h -rw-r--r-- 465 bytes
mvme16x_scsi.c -rw-r--r-- 3.7 KB
mvumi.c -rw-r--r-- 51.3 KB
mvumi.h -rw-r--r-- 10.8 KB
ncr53c8xx.c -rw-r--r-- 210.6 KB
ncr53c8xx.h -rw-r--r-- 40.0 KB
nsp32.c -rw-r--r-- 89.1 KB
nsp32.h -rw-r--r-- 21.2 KB
nsp32_debug.c -rw-r--r-- 7.3 KB
nsp32_io.h -rw-r--r-- 5.9 KB
osst.c -rw-r--r-- 182.8 KB
osst.h -rw-r--r-- 24.2 KB
osst_detect.h -rw-r--r-- 232 bytes
osst_options.h -rw-r--r-- 4.1 KB
pas16.c -rw-r--r-- 17.8 KB
pas16.h -rw-r--r-- 4.6 KB
pmcraid.c -rw-r--r-- 168.8 KB
pmcraid.h -rw-r--r-- 37.0 KB
ppa.c -rw-r--r-- 25.7 KB
ppa.h -rw-r--r-- 5.0 KB
ps3rom.c -rw-r--r-- 11.3 KB
qla1280.c -rw-r--r-- 125.1 KB
qla1280.h -rw-r--r-- 34.7 KB
qlogicfas.c -rw-r--r-- 5.6 KB
qlogicfas408.c -rw-r--r-- 14.6 KB
qlogicfas408.h -rw-r--r-- 4.5 KB
qlogicpti.c -rw-r--r-- 40.4 KB
qlogicpti.h -rw-r--r-- 18.8 KB
raid_class.c -rw-r--r-- 7.7 KB
script_asm.pl -rw-r--r-- 28.5 KB
scsi.c -rw-r--r-- 37.2 KB
scsi.h -rw-r--r-- 1.1 KB
scsi_debug.c -rw-r--r-- 118.5 KB
scsi_devinfo.c -rw-r--r-- 29.0 KB
scsi_error.c -rw-r--r-- 58.8 KB
scsi_ioctl.c -rw-r--r-- 9.1 KB
scsi_lib.c -rw-r--r-- 64.8 KB
scsi_lib_dma.c -rw-r--r-- 1.1 KB
scsi_logging.h -rw-r--r-- 3.5 KB
scsi_module.c -rw-r--r-- 1.6 KB
scsi_netlink.c -rw-r--r-- 15.8 KB
scsi_pm.c -rw-r--r-- 5.2 KB
scsi_priv.h -rw-r--r-- 5.8 KB
scsi_proc.c -rw-r--r-- 11.5 KB
scsi_sas_internal.h -rw-r--r-- 1.5 KB
scsi_scan.c -rw-r--r-- 54.3 KB
scsi_sysctl.c -rw-r--r-- 946 bytes
scsi_sysfs.c -rw-r--r-- 28.3 KB
scsi_tgt_if.c -rw-r--r-- 9.1 KB
scsi_tgt_lib.c -rw-r--r-- 16.1 KB
scsi_tgt_priv.h -rw-r--r-- 1.2 KB
scsi_trace.c -rw-r--r-- 6.6 KB
scsi_transport_api.h -rw-r--r-- 145 bytes
scsi_transport_fc.c -rw-r--r-- 119.7 KB
scsi_transport_fc_internal.h -rw-r--r-- 584 bytes
scsi_transport_iscsi.c -rw-r--r-- 76.3 KB
scsi_transport_sas.c -rw-r--r-- 50.6 KB
scsi_transport_spi.c -rw-r--r-- 43.6 KB
scsi_transport_srp.c -rw-r--r-- 10.2 KB
scsi_transport_srp_internal.h -rw-r--r-- 590 bytes
scsi_typedefs.h -rw-r--r-- 37 bytes
scsi_wait_scan.c -rw-r--r-- 1.1 KB
scsicam.c -rw-r--r-- 7.7 KB
sd.c -rw-r--r-- 75.8 KB
sd.h -rw-r--r-- 3.7 KB
sd_dif.c -rw-r--r-- 12.4 KB
ses.c -rw-r--r-- 17.5 KB
sg.c -rw-r--r-- 69.6 KB
sgiwd93.c -rw-r--r-- 8.1 KB
sim710.c -rw-r--r-- 9.8 KB
sni_53c710.c -rw-r--r-- 3.9 KB
sr.c -rw-r--r-- 25.2 KB
sr.h -rw-r--r-- 2.5 KB
sr_ioctl.c -rw-r--r-- 15.2 KB
sr_vendor.c -rw-r--r-- 8.4 KB
st.c -rw-r--r-- 124.6 KB
st.h -rw-r--r-- 6.1 KB
st_options.h -rw-r--r-- 3.9 KB
stex.c -rw-r--r-- 43.2 KB
sun3_NCR5380.c -rw-r--r-- 91.3 KB
sun3_scsi.c -rw-r--r-- 14.1 KB
sun3_scsi.h -rw-r--r-- 9.7 KB
sun3_scsi_vme.c -rw-r--r-- 12.8 KB
sun3x_esp.c -rw-r--r-- 7.2 KB
sun_esp.c -rw-r--r-- 14.2 KB
sym53c416.c -rw-r--r-- 25.6 KB
sym53c416.h -rw-r--r-- 1.1 KB
t128.c -rw-r--r-- 11.5 KB
t128.h -rw-r--r-- 4.1 KB
tmscsim.c -rw-r--r-- 75.5 KB
tmscsim.h -rw-r--r-- 13.7 KB
u14-34f.c -rw-r--r-- 65.5 KB
ultrastor.c -rw-r--r-- 36.1 KB
ultrastor.h -rw-r--r-- 2.0 KB
vmw_pvscsi.c -rw-r--r-- 36.7 KB
vmw_pvscsi.h -rw-r--r-- 12.1 KB
wd33c93.c -rw-r--r-- 65.6 KB
wd33c93.h -rw-r--r-- 11.0 KB
wd7000.c -rw-r--r-- 50.6 KB
zalon.c -rw-r--r-- 5.0 KB
zorro7xx.c -rw-r--r-- 4.5 KB

back to top