asterisk / dahdi-linux

This is the official dahdi-linux repository. All issues and PR should be raised here.
GNU General Public License v2.0
47 stars 69 forks source link

Update use of long-deprecated pci_ dma API code to the more generic d… #17

Closed jkroonza closed 1 year ago

jkroonza commented 1 year ago

…ma_ API.

I can trace back dma_ to at least kernel 3.2 and I've found mention of this generic API around 2002 already, so this should work on some really old kernels too.

The only question is whether all uses actually require GFP_ATOMIC, but since pci_alloc_consistent used that, just stick with it as I don't know how to verify this.

InterLinked1 commented 1 year ago

I think the next branch already has this fix? https://github.com/asterisk/dahdi-linux/commit/dbb43101c2a9205b67223b006bf75c29ebadced9

jkroonza commented 1 year ago

I think the next branch already has this fix? dbb4310

It's possible.

Since the dma_* functions has been around since a very long time, is it really preferred to conditionally wrap again, or rather just convert to the appropriate APIs? I get that it's desirable to keep the module working with older kernels too, but to wrap it when the converted to APIs have been around almost as long as the original APIs?

InterLinked1 commented 1 year ago

I think they conditionally wrapped it because that was the "quick and dirty fix". It's clear that DAHDI Linux hasn't been properly maintained in a long time, and still isn't.

Regardless, you should base your patches off the next or 3.3.0 branches instead of the master branch, since the master branch is significantly out of date. I don't know when they'll reconcile them as there's been no activity for half a year now.